-
逗号运算符 var val = (1,2,3); //val=3 每个从左到右,依次计算表达式的值,最后取最后一个值。 var obj={}; Object.defineProperty(obj,"x",{ configurable:false, value:1 }); delete obj.x;//false obj.x; //1 function Foo(){}; Foo.prototype.x=1; var obj=new Foo(); obj.x; //1 obj.hasOwnProperty("x");//false //x属于Foo类型,obj对象没有x实例,它只是调用了Foo的共享单元 obj.__proto__.hasOwnProperty("x");//true //obj.hasOwnProperty('x')方法检查一个属性是否属于对象本身,而不是属于原型链上。 //obj.__proto__.hasOwnProperty('x') 检查一个属性是属于原型链上,而不是对象本身。查看全部
-
1. 原始表达式 //常量、直接量、关键字、变量 3.14、"test"、null、i、k、j 2. 初始化表达式 //[1,2]、{x:1, y:2} 3. 函数表达式 //var fe = function(){}、(function(){})() 4. 属性访问表达式 //var o = {x:1}、o.x、o['x'] 5. 调用表达式 //func() 6. 对象创建表达式 //new Func(1,2)、new Object查看全部
-
var man={ name:"Bosn", weibo:'@Bosn', get age(){ return new Date().getFullYear()-1987; }, set age(val){ console.log("Age can't be set "+val); } } console.log(man.age);//27 man.age=100;//Age can't be set to 100; console.log(man.age);//still 27查看全部
-
var o={x:1,y:2,z:3}; 'toString' in o;//true o.propertyIsEnumerable("toString");//false var key; for(key in o){ console.log(key);//x,y,z } var obj=Object.create(o); var obj.a=4; var key; for(key in obj){ console.log(key);//a,x,y,z } var obj=Object.create(o); obj.a=4; var key; for(key in obj){ if(obj.hasOwnProperty(key)){ console.log(key);//a } }查看全部
-
defineProperty定义对象属性时,枚举等标签默认都是false Object.defineProperty(cat,"price",{enumerable:false,value:1000}); cat.propertyIsEnumerable("price");//false cat.hasOwnProperty("price");//true查看全部
-
var cat=new Object; cat.legs=4; cat.name="Kitty"; 'legs' in cat;//true 'abc' in cat;//false 'toString' in cat;//true .inherited property!!!!!!! cat.hasOwnProperty("legs");//true cat.hasOwnProperty("toString");//false //propertyIsEnumerable()检查是否可被枚举的。属性是否会出现在for in 中 cat.propertyIsEnumerable("legs");//true cat.propertyIsEnumerable("toString");//false查看全部
-
获取对象上某个属性的配置标签信息: var descriptor=Object.getOwnPropertyDescriptor(Object,"prototype"); descriptor.configurable;//false查看全部
-
var yz=obj&&obj.y&&obj.y.z; //返回obj.y.z的值或undefined;查看全部
-
var obj=Object.create({x:1}); obj.x;//1 typeof obj.toString;//"function" //toString()来源Object源型链 obj.hasOwnProperty("x");//false //原型链继承关系 : obj->{x:1}->Object prototype ->null; 并不是所有对象都有toString()方法 var obj=Object.create(null); obj.toString //undefined 此时原型链继承关系 :obj->null。所以无toString()方法查看全部
-
函数声明: fd();//true function fd(){ return true; } fe();//TypeError 函数表达式 var fe=function(){ }查看全部
-
var a=b=1;这样会将b声明为全局变量。 function foo(){ var a=b=1; } foo(); console.log(a);//undefined console.log(b);//1查看全部
-
js中没有块级作用域: for(var i=0;i<10;i++){ } 在作用域上等效于 var i=0; for(;i<10;i++) {} 同理: { var a=1; //... } 等效于 var a=1; { //.... }查看全部
-
obj.hasOwnProperty('x')方法检查一个属性是否属于对象本身,而不是属于原型链上。 obj.__proto__.hasOwnProperty('x') 检查一个属性是属于原型链上,而不是对象本身。查看全部
-
逗号运算符 var val = (1,2,3); //val=3 每个从左到右,依次计算表达式的值,最后取最后一个值。查看全部
-
function Foo(){}; Foo.prototype.x=1; var obj=new Foo(); obj.x; //1 obj.hasOwnProperty("x");//false //x属于Foo类型,obj对象没有x实例,它只是调用了Foo的共享单元 obj.__proto__.hasOwnProperty("x");//true查看全部
举报
0/150
提交
取消