js高级知识点

作用域 :代码的执行区域,代码的运行环境
预编译 :全局中、函数中找出执行环境的对象

作用域链

执行期上下文:当函数运行时,会创建一个称为执行期上下文的对象。一个执行期上下文定义了一个函数运行时的环境,函数每次执行时对应的执行期上下文是独一无二的,所以多次调用一个函数会创建多个执行期上下文,当函数执行完毕时,它所产生的的执行期上下文会被销毁。

函数是一个对象

function demo(){}
demo.name -> 'demo'

隐式属性 系统属性  [[Scopes]] 作用域链

[[Scopes]]:系统属性, 里面存储的是执行期上下文的集合,我们把这个集合叫做作用域链

闭包

是一种现象
当内部函数被保存到外部时,将会生成闭包。导致原有的作用域链不被释放,造成内存泄漏。

作用:
函数累加器

this关键字

全局作用域,this固定执行window
函数作用域, 取决于函数是如何被调用的
1. 函数直接调用,函数名() this->window
2. 函数被对象调用,对象.函数名this-》对象

var myFunction = {
    isprime:function(){

    },
    zero:function(){

    },
    getRandom:function(){
        
    }
}

构造函数

构造函数就是一个普通的函数

new Object()
new Array()
new Date()
new RegExp()  
new Function()
new Number()
new String()
new Boolean()
new Error()

用来创建对象 这个函数叫做构造函数

  1. 构造函数的函数名使用大驼峰命名法

new 关键字

  1. 在函数内部创建一个空对象
  2. 函数中this指向这个空对象
  3. 逐行执行函数中的代码
  4. 隐式返回这个对象

如果构造函数中出现了返回值,如果返回值为引用类型,则执行返回;如果返回值是基本数据类型,则直接忽略

new.target

该表达式在函数中使用,返回的当前的构造函数,如果这个函数不是通过new调用,则返回undefined

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值