-
全局作用域、函数作用域、eval作用域; JavaScript没有块级作用域,item在for循环外面是可访问的。查看全部
-
闭包的另一个好处是可以封装一些变量。 在外部可以通过export方法间接访问想要私有化的变量。查看全部
-
在每一层循环中,使用一个立即执行的匿名函数将其包装起来,这样的i就取自每层循环中的i查看全部
-
一般函数调用后局部变量即可被析构掉; 若返回的是匿名函数,则仍然可以访问外部的局部变量,因此在outer调用之后,再次调用func()时仍能访问局部变量查看全部
-
枚举会枚举出原型链上的所有属性;查看全部
-
Object.defineProperty(对象名,'属性名',{enumerable:false【默认】})查看全部
-
属性检测查看全部
-
var定义的全局变量或局部变量无法被删除; 全局函数或局部作用域函数都不可被delete; 但隐式创建可被删除(不推荐);查看全部
-
Object.getOwnPropertyDescriptor(要检测的对象,'要检测的属性')获取属性中的所有标签;查看全部
-
属性读写俩种方式: obj.x; obj['x'] 后者适用于循环处理。查看全部
-
方法三:Object.create 系统内置函数,会接受参数(对象),会返回新创建的对象并使对象原型指向参数; 并非所有对象都有toString,因为并非所有对象的原型链上都有Object.prototype查看全部
-
给obj赋值时,foo.prototype并不会被修改,即不会向上赋值; 若要获取原型上的值,需要先delete obj.z来删除本对象的属性;查看全部
-
方法二:new 构造器; eg.创建一个函数对象时,该对象会默认自带prototype属性,此属性为对象属性。 通过new来构造对象时,其(obj)原型会指向构造器(foo())的prototype属性。原型链查找:向上查找。foo.prototype向上指向Object.prototype(toString方法等),再向上原型值是null。查看全部
-
创建对象方法一:对象字面量查看全部
-
对象的属性可以动态的添加或删除; JavaScript中的对象中的每一个属性有各种属性标签(writable,enumerable等)及get/set方法; 每个对象都有个原型,即prototype对象属性; [[class]]标签用来表示对象属于哪个种类; [[extensible]]标签表示对象是否允许继续增加新属性。查看全部
举报
0/150
提交
取消