-
在严格模式下,不管arguments传不传参数,都不会跟a造成影响。 如果arguments有对象,那么a的对象会被影响查看全部
-
function(a){arguments[0]=100}(1);一般情况下arguments[0]与a是绑定的,如果给a传入参数后,修改arguments[0],a的值也会变,但是如果a没有传入参数,即使修改了arguments[0],a的值依然为undefinded查看全部
-
‘use strict’使用严格模式查看全部
-
function MyClass(){this.a=37;} var o=new MyClass();才是完整的把MyClass()当作构造器来调用,这里面的this会指向空的对象var o里的o,并且这个对象的原型会指向MyClass.prototype return后面如果不是基本类型的话,而是对象的话,返回值就是这个对象.查看全部
-
视频里的老师使用的是什么软件呢?好想下查看全部
-
prototype constructor查看全部
-
原型链查看全部
-
原型链查看全部
-
对象标签: proto:原型 class:表示对象是哪一个类型 Object.prototype.toString()会把参数先变为对象 isExtensible:对象是否可扩展,对象上的属性是否可以继续添加,默认是true,通过preventExtensions设置不可扩展但还是可以通过getOwnPropertyDescriptor或者这个属性的属性 stringify序列化一个对象,undefined值得属性序列化不会出来,NaN,Infinity序列化为null JSON.parse('{"x":1}');//字符串变为对象 obj.x//1 自定义序列化 toJSON;function(){}查看全部
-
Object.getOwnPropertyDescriptor({pro:true},'pro')查看某个对象都有哪些属性标签,第一个参数要判断的对象,第二个参数字符串的属性名 writable:属性是否可以修改,是否可写 enumerable:属性是否可以被遍历,影响for in中是否会出现 Object.keys(person);//查找对象的时候只会返回enumerable=true的属性 configurable:这些属性标签是否可以修改,属性是否可以删除 Object.defineProperties(),第一个参数要定义的对象,第二个参数复杂的对象,(属性名,属性值,属性标签)查看全部
-
get,set属性与一般属性有所区别,以get,set开头后面紧接着属性名 定义一个空的函数, function foo(){} 为这个函数的原型创建一个属性z Object.defineProperty(foo.property,'z',(get:function(){return 1;})); 用new的方式创建一个对象 var obj=new foo(); obj.z;//调用z的get方法,返回 1 obj.z=10; //如果z 不是get的这种属性而是普通的属性的话,可以赋值成功的,并且把值复到obj的对象上 obj.z;//still 1查看全部
-
val =+val;//转为数字类型 用defineProperty创建一个对象的时候,如果writable设置为false(默认为false),那么无法修改原型链上的属性查看全部
-
使用自命量创建的对象会指向具有这个属性的一个对象。这个对象呢又指向Object.prototype.查看全部
-
记住每个new创建的对象都会有一个原型,如果追溯到最后就是一个系统的Object.prototype。很多对象有一个toString()方法归根到底就是他的方法。查看全部
-
变量初始化阶段查看全部
举报
0/150
提交
取消