当前位置: 首页 > news >正文

经典网站建设案例icp备案网站接入信息

经典网站建设案例,icp备案网站接入信息,个人博客网站logo,东莞seo网络营销作用域 变量的可用范围 作用域链 保存的变量的使用顺序的一个链(也就是路线图), 被称为作用域链。 当在Javascript中使用一个变量的时候,首先Javascript引擎会尝试在当前作用域下去寻找该变量,如果没找到,再…

作用域

变量的可用范围

作用域链

保存的变量的使用顺序的一个链(也就是路线图), 被称为作用域链。
当在Javascript中使用一个变量的时候,首先Javascript引擎会尝试在当前作用域下去寻找该变量,如果没找到,再到它的上层作用域寻找,以此类推直到找到该变量或是已经到了全局作用域。

如果在全局作用域里仍然找不到该变量,它就会在全局范围内隐式声明该变量(非严格模式下)或是直接报错。

词法环境

是一种标识符—变量映射的结构(这里的标识符指的是变量/函数的名字,变量是对实际对象[包含函数和数组类型的对象]或基础数据类型的引用)。

简单地说,词法环境是Javascript引擎用来存储变量和对象引用的地方。

闭包

能够读取其他函数内部变量的函数 。js里为了实现数据和方法私有化的方式。

1-实现模块化和私有变量

2-缓存数据

3-实现回调函数

面试原理之闭包的优缺点和应用场景 - 掘金 (juejin.cn)

闭包的缺点:

  1. 内存泄漏:由于闭包中的函数引用了外部函数的变量,而外部函数的作用域在函数执行结束后并不会被销毁,这就导致了闭包函数中的变量也无法被销毁,从而占用了内存空间。如果闭包被滥用,可能会导致内存泄漏的问题。
  2. 性能问题:闭包中的函数访问外部函数的变量需要通过作用域链来查找,而作用域链的长度决定了查找的速度。如果闭包层数较深,作用域链就会很长,从而影响了函数的执行效率。

为了解决闭包的这些问题,可以采取以下一些措施:

  1. 及时释放闭包:如果不再需要使用闭包,可以手动将其赋值为 null,从而释放闭包中占用的内存空间。
  2. 减少闭包层数:尽量减少闭包层数,避免作用域链过长,从而提高函数的执行效率。
  3. 使用立即执行函数:可以使用立即执行函数来避免闭包的内存泄漏问题。由于立即执行函数在执行结束后会被立即销毁,因此其中的变量也会被释放。
  4. 使用模块化编程:可以使用模块化编程来避免闭包的性能问题。在模块化编程中,每个模块都是一个独立的作用域,不会对全局作用域造成影响,从而避免了作用域链过长的问题。

// 构造函数
function Person(name, age) {this.name = name;this.age = age;
}// 生成实例
const p = new Person('zhangsan', 18);

new()方法做了什么

  1. 创建一个新对象

  2. 将新对象的__proto__指向构造函数的protptype对象

  3. 将构造函数的作用域赋值给新对象(也就是this指向新对象)

  4. 执行构造函数中的代码(为这个新对象添加属性)

  5. 返回新的对象

一文搞懂JS原型与原型链(超详细,建议收藏) - 掘金 (juejin.cn)

构造函数创建一个实例的过程

  1. 创建一个新对象
  2. 将构造函数的作用域赋值给新对象(这样this就指向了新对象)
  3. 执行构造函数中的代码(为新对象添加实例属性和实例方法)
  4. 返回新对象

 原型

  • 每个函数都有prototype属性,被称作原型。
  • prototype原型指向一个对象,故也称作原型对象。

原型对象 

JS的每个函数在创建的时候,都会生成一个属性prototype,这个属性指向一个对象,这个对象就是此函数的原型对象。该原型对象中有个属性为constructor,指向该函数。这样原型对象它的函数之间就产生了联系。 

__proto__prototype不太一样,一个是对象拥有的隐式原型,一个是函数拥有的显式原型,这里我们简单总结一下__proto__

  • 通常被称作隐式原型,每个对象都拥有该属性。
  • [[prototype]]其实就是__proto__

原型链

当访问一个对象的某个属性时,会先在这个对象本身属性上查找,如果没有找到,则会通过它的__proto__隐式属性,找到它的构造函数原型对象,如果还没有找到就会再在其构造函数prototype__proto__中查找,这样一层一层向上查找就会形成一个链式结构,我们称为原型链

结论:每个对象都有 __proto__ 属性,但只有函数对象才有 prototype 属性

JavaScript原型与原型链最全面的详解 - 掘金 (juejin.cn)

http://www.yayakq.cn/news/23386/

相关文章:

  • 流线型的网站建设商业网站和企业网站的区别
  • 可视化网站开发工具网站服务器提供商
  • 自贡做网站会员管理系统代码
  • 网站建设服务公司石家庄建站凡科
  • 网站建设与运营的公司重庆商城网站制作报价
  • 做电子烟外贸网站有哪些vi设计作品图
  • 怎么上传做 好的网站怎么进行网站关键词优化
  • 做网站要学习什么西安高风险调整
  • ps做素材下载网站有哪些旅游网站策划营销
  • wordpress网站多语言网页在线生成
  • 企业网站建设安阳微博推广渠道
  • 做外贸c2c网站有哪些系统开发案例
  • 如何申请域名邮箱模板网站如何做优化
  • 网站建设 南宁莞城区网站建设公司
  • 价格划算的东莞建网站公司怎么做微信小程序卖东西
  • 做内贸要在哪个网站找客户汽车设计网站大全
  • 网站登录页面模板房产信息网网站
  • 盘锦微商网站建设wordpress 菜单 下拉菜单
  • 国内酒店网站建设自学软件网站开发
  • 网站建设xyhlrj网页设计尺寸参考表
  • 北京微网站设计开发服务宣传栏制作效果图
  • 阿里云建站流程外卖做的比较好的网站
  • jsp网站购物车怎么做如何做一个网站的功能吗
  • 视频分享网站建设游戏交易类网站seo怎么做
  • 网上网站怎么做陕西住房与城乡建设部网站
  • 专业建设网站哪家好怎么做服务器网站下载链接
  • 站群系统有哪些网站做百度百科
  • 网站正能量破解版下载大全安装手机制作视频
  • 怎么做自己的cms导购网站网站建设的安全性
  • 网站建设怎么报价表网络公司给我做网站我有没有源代码版权吗?