js乱七八糟笔记 箭头函数、对象构造器

无法为对象构造器添加新属性
  • 一个变量包含一个值
  • 一个对象包含很多值
  • {变量名:值,变量名:值,…}
  • 关键字new创建对象会调用对象构造器,这很慢
  • 可以把对象构造器当成java的构造函数,但是js里函数是一等公民,可以独立于对象存在,本身就是对象。
  • 所以有了这种说法:可以为对象添加新属性,无法为对象构造器添加新属性
  • 而JavaScript prototype 属性允许您为对象构造器添加新属性
箭头函数

箭头函数在参数和箭头之间不能换行。

//变量形式声明函数,常规的块体
var fun = (参数1, 参数2,, 参数N) => { 代码段 最后 return 表达式; }

//简写体,省略return
(参数1, 参数2,, 参数N) => 表达式

//没有参数的函数应该写成一对圆括号。
() => {函数声明}

在箭头函数出现之前,每一个新函数根据它是被如何调用的来定义这个函数的this值。

  • 如果是该函数是一个构造函数,this指针指向一个新的对象
  • 在严格模式下的函数调用下,this指向undefined
  • 如果是该函数是一个对象的方法,则它的this指针指向这个对象(js函数不一定是对象的方法噢)

而箭头函数不会创建自己的this,它只会从自己的作用域链的上一层继承this。
箭头函数没有prototype属性。
箭头函数不绑定Arguments 对象。因此,在本示例中,arguments只是引用了封闭作用域内的arguments。

发布了36 篇原创文章 · 获赞 0 · 访问量 1765

猜你喜欢

转载自blog.csdn.net/Oneiro_qinyue/article/details/103333855