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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
493人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 运算符: 一元 +num 二元 a+b 三元 c?a:b 赋值 x+=1 比较 a= =b 算术 a-b 位 ab 逻辑 exp1 && exp2 字符串 "a"+"b" 特殊 delete obj.x 三元运算: c?a:b eg:var val=true?1:2 ,运算符: var val=(1,2,3);//val=3 delete运算符: var obj={x:1}; obj.x; //1 delete obj.x; obj.x; //undefined 特殊: var obj={}; Object.defineProperty(obj,'x',{ configurable:false value:1 }); delete obj.x; //false obj.x; //1 configurable属性设置为true,则可以删除该对象的属性;如果为false,则不能删除. in 运算符: window.x=1; 'x' in window; //true new 运算符: function Foo(){}; Foo.prototype.x=1; var obj=new Foo(); obj.x; //1 obj.hasOwnProperty('x'); //false obj._proto_.hasOwnProperty('x'); //true this 运算符: this; //window浏览器 var obj={ func:function(){return this;} }; obj.func(); //obj
    查看全部
  • 数组、对象的初始化表达式: [1,2] new Array(1,2) [1,,,4] [1,undefined,undefined,4] {x:1,y:2} var o=new Object();o.x=1;o.y=2; 函数表达式: var fe=function(){}; var fe=(function(){console.log('hello world');})(); 属性访问表达式: var o={x:1}; o.x //1 o['x'] //1 对象创建表达式: var temp=new Func(1,2)//有参数,没有参数时也可以把括号直接去掉 var temp=new Object;//没有参数
    查看全部
  • 常用属性
    查看全部
  • 类型检测
    查看全部
  • JS中检测类型的方法: typeof、 instanceof、 Object.prototype.toString、 constructor、 duck type typeof: typeof 100//"number" typeof true//"boolean" typeof function//"function" typeof NaN//"number" typeof null//"object" typeof判断后会返回一串字符串,适合函数对象(function)和基本数据类型的判断,遇到null失效。 instanceof: obj instanceof Object eg: [1,2] instanceof Array = = = true; Caution: 不同Window或iframe间的对象类型检测不能使用instanceof! instanceof适合自定义对象,也可以用来检测原生对象。 Object.prototype.toString: Object.prototype.toString.apply([1,2]);= = ="[object Array]"; Object.prototype.toString.apply(function(){});= = ="[object Function]"; Object.prototype.toString.apply(null);= = ="[object Null]"; Object.prototype.toString.apply(undefined);= = ="[object Undefined]"; Caution:IE6/7/8 Object.prototype.toString.apply(null)返回"[object Object]"; Object.prototype.toString适合内置对象和基元类型,遇到null和undefined失效。
    查看全部
  • var str="asd";//String字符串基本类型,不是对象 str.length;//3 当基本数据类型尝试访问类似对象属性的操作时,会智能地把基本数据类型转化为该数据类型的包装对象类型(相当于new了一次) str.t=3;//当给该对象设置属性或者访问属性后,那个临时的包装对象就会被消灭,所以访问该对象的时候就为undefined alert(str.t);//undefined var strObj=new String("asd");//String 的包装对象
    查看全部
  • 巧用+/-规则转换类型: num-0; //就把num转换为number类型 num+"";//就把num转换为string类型 = = "1.23"= = 1.23 //因为"1.23"会把字符串转换为数字再进行比较 1 = = "1.0"//true,因为string会转换为number再进行比较 boolean = = ? //boolean会转number,1= =true,0= =false object = = number|string 对象转为基本类型 //eg: new String("hi")= ="hi",true,其他为false 严格等于:= = =(即数据类型和值都完全相等) 如果类型不同,返回false; 类型相同,同 = = = null = = = null undefined = = = undefined NaN != NaN new Object != new Object(eg:[1,2] != [1,2])
    查看全部
  • 原始数据类型:number string boolean null undefined 特殊数据类型:object(对象:function array date..)
    查看全部
  • var num=32; var str="32"; num+num; //64 (正常数字运算) str+num; //"3232" (字符串的拼接) str-num; //0 (正常数字运算)
    查看全部
  • 执行上下文
    查看全部
  • 全局的this
    查看全部
    0 采集 收起 来源:[JavaScript]this

    2016-10-05

  • String 和 Number 相比较时: 会先将字符串先转换为数字再进行对比
    查看全部
  • 原型链 delete 的时候只会删除对象上的属性,而不会影响它的原型链,这样就实现了继承,通过原型链上的继承,我们可以继承原型链上的属性,反过来我们又不回去修改掉他们
    查看全部
  • 数据类型
    查看全部
  • 创建对象的方式: 对象字面量 用字面量创建的对象也是有原型的,它的原型指向Object.prototype, 所以说obj->{x:1}->Object.prototype->null new/原型链 object.create var obj=Object.create({x:1}); obj.x //1
    查看全部

举报

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

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

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