-
擦擦擦查看全部
-
飒飒啊查看全部
-
var obj = {x:1,y:2}; obj.toString();//"[object Object]" obj.toString = function(){return this.x+this.y}; var str1 = "Result " + obj; // "Result 3", 这里会自动调用toString方法,而tosTring方法是从Object原型链上继承过来然后这里重写的 console.log(str1); var str2 = +obj; // 3, 用了一元操作符也会自动调用toString方法 console.log(str2); obj.valueOf = function(){return this.x+this.y+100}; var str3 = +obj;//103, by balueOf console.log(str3); var str4 = "Result" +obj;// still "Result 103" console.log(str4); //不论是"Result" + obj 还是+obj都会尝试把对象obj转换为基本数据类型,在转换的时候会优先调用valueOf,如果valueOf返回的是基本类型就会以valueOf的转换值为结果如果valueOf不存在或者返回的是对象或者不合法的值就会去调用toString,如果toString和valueOf都没有或者都返回的对象或者不合法就会报错。查看全部
-
javascript有全局作用域、函数作用域和eval作用域 用构造器创建函数,访问不到当前作用域的局部变量、 (function(){});和!function(){}()此类表达式是将函数声明变成一个函数表达式查看全部
-
bind用于参数绑定及科利华 注意有new操作符时,必须返回一个对象,若未明确返回一个对象,则返回值是函数里面的空对象 arguments不是数组,因此没有slice等函数。查看全部
-
var obj = { x:1, y:2, o:{ o1:1, o2:2, toJSON:function(){ // toJSON属性是自定义json在被JSON.stringify序列化的时候调用的方法 return this.o1+this.o2; } } }; var str1 =JSON.stringify(obj.o); var str2 =JSON.stringify(obj); obj.toJSON=function(){ return this.x+this.y +this.o.o1+this.o['o2']; }; var str3 = JSON.stringify(obj); console.log(str1); //"3" console.log(str2);// "{"x":1,"y":2,"o":3}" console.log(str3);//"6"查看全部
-
var obj ={x:1,y:true,z:[1,2,3],nullVall:null}; var str1 =JSON.stringify(obj); //把json对象转换为传向后台的json字符串 "{"x":1,"y":true,"z":[1,2,3],"nullVal":null}" obj={val:undefined,a:NaN,b:Infinity,c:new Date()}; JSON.stringify(obj);//stringify在转换为字符串的时候会省略吊值为undefined的属性会被忽略掉,值为NaN或者为Infinity的会转换为null,值为Date的会被转换UTC的时间格式 "{"a":null,"b":null,"c":"2015-01-20T14:15:43.910Z"}" obj = JSON.parse('{"x":1}');//用JSON.parse把后端返回的json字符串转换为json对象 obj.x; //1查看全部
-
嘿嘿 马一下查看全部
-
foo.apply(null) foo.apply(undefined)此时this指向的事全局对象window查看全部
-
注意此处G的绑定bind将this绑定到指定的对象上查看全部
-
var obj = {x:1,y:2}; var str1 =Object.isExtensible(obj);//查看对象是否可以扩展 这里为true Object.preventExtensions(obj);//阻止对象扩展 Object.isExtensible(obj);//false obj.z=1; obj.z; //undefined,add new property failed Object.getOwnPropertyDescriptor(obj,'x'); //查看属性的情况 //Object{value:1,writable:true,enumerable:true,configurable:true} Object.seal(obj);//设置对象不能被扩展和删除 Object.getOwnPropertyDescriptor(obj,'x'); //Object{value:1,writable:true,enumerable:true,configurable:false} Object.isSealed(obj);//true Object.freeze(obj);//设置对象不能被重写扩展删除 Object.getOwnPropertyDescriptor(obj,'x'); //Object{value:1,writable:false,enumerable:true,configurable:false} Object.isFrozen(obj);//true查看全部
-
obj.hasOwnProperty('z'); 判断Z是否在obj的原型链上。查看全部
-
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript 火狐MDN查看全部
-
属性标签一览表查看全部
-
原型链查看全部
举报
0/150
提交
取消