为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
492人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 擦擦擦
    查看全部
  • 飒飒啊
    查看全部
  • 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绑定到指定的对象上
    查看全部
    0 采集 收起 来源:[JavaScript]this

    2015-08-12

  • 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的原型链上。
    查看全部
    0 采集 收起 来源:prototype属性

    2015-08-11

  • https://developer.mozilla.org/zh-CN/docs/Web/JavaScript 火狐MDN
    查看全部
  • 属性标签一览表
    查看全部
  • 原型链
    查看全部

举报

0/150
提交
取消
课程须知
1.您至少学习了本站“JS入门”、“JS进阶”两门基础课程。 2.如您具备一定实践经验对学习有很大帮助。 3.如您没有脚本编程开发经验,学习过程有可能会受挫部分内容或示例代码,请“暂时略过不懂的部分,后面章节会阐述”,当然想透彻学习,还需大量实践来体会知识的内涵。
老师告诉你能学到什么?
结合实例,深入解析以下知识内容: 1. 数据类型、表达式和运算符、语句; 2. 对象、数组、变量、函数; 3. this、闭包和作用域; 4. OOP; 5. 正则与模式匹配。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!