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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
493人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 函数声明 function add(a,b){} #声明默认被前置 函数表达式 var add=function(a,b){}#表达式在前才可调用 命名函数表达式 var func=function nfe(){};
    查看全部
  • 函数对象的调用: foo();##直接调用 o.method();##对象方法 new Foo();##构造器 func.call(o);##call/apply/bind
    查看全部
  • Array.prototype.forEach 数组遍历 map数组映射 var arr=[1,2,3] arr.map(function(x){ return x+10;});//[11,12,13] arr;//[1,2,3] Array.prototype.filter()数组过滤 arr.every() arr.some()####数组判断 indexOf 数组检索 lastIndexOf 从右向左找 Array.isArray()#判断是否为数组
    查看全部
  • 数组方法: Array.prototype.join()#将数组转化为字符串 var arr=[1,2,3] arr.join();//"1,2,3" arr.join("_");//"1_2_3"##参数为分隔符 默认逗号 Arrary.prototype.reverse()#将数组逆序 Array.prototype.sort()按字母顺序排序,非字母强制转换后排序 arr.sort(function(a,b){ return a-b;})//数字排序 Array.prototype.concat();数组合并 Array.prototype.slice();返回部分数组,左闭右开 Array.prototype.splice();数组拼接 var arr=[1,2,3,4,5] arr.splice(2)://returns [3,4,5] arr;//[1,2] arr.splice(2,2);//returns [3,4] arr;//[1,2,5]###第一个参数表示开始位置,第二个参数为删除元素个数,随后参数表示添加的元素 如 arr.splice(1,1,a,b); arr;//[1,"a","b",3,4,5]
    查看全部
  • arr.push(3);在尾部添加新元素=arr[arr.length]=3,arr.unshift(0);在数组头部添加新元素 delete arr[2]删除元素2,但是长度不改变 arr.pop()删除尾部元素 arr.shift()删除头部元素
    查看全部
  • 对象的标签:__proto__,class,extensible 序列化:JSON.stringify(obj); 反序列化JSON.parse('{"x":1}'); 自定义序列化,当前层级下使用 toJSON:function(){ return XXX} 自定义toString(); obj.toString=function(){return XXX} +obj;##尝试把对象转化为数字 obj.valueOf=function(){return XXX} toString和valueOf同时存在时,+obj返回valueOf,如果不合法,返回toString
    查看全部
  • 画的真好
    查看全部
    0 采集 收起 来源:再谈原型链

    2017-07-18

  • Object.getOwnPropertyDescriptor({pro:true},'pro')此方法返回一个对象,这个对象包含当前属性下的所有标签 #要判断的对象,#属性名 var person={} Object.defineProperty(person,'name',{configurable:false,person.name;}) defineproperty创建属性,第一个参数为对象,第二个参数为属性名,第三个参数是属性标签 Object.keys(person);#获取对象上所有的key Object.defineProperties(person,{ title:{value:'fe',enumerable:true}, corp:{value:'BABA',enumerable:true}});##多属性创建,为设置标签默认为false
    查看全部
  • Object.getOwnPropertyDescriptor({pro:true},'pro')
    查看全部
  • 原型链上有get/set方法或者某一属性不可写,使用 Object.defineProperty(obj,'z',{value:100,configurable:true}); ###writable:true
    查看全部
  • 函数作用域
    查看全部
  • 对象创建 var obj=Object.create({x:1}) obj.x//1 obj_____{x:1}________Object.prototype_______null
    查看全部
  • function foo(){}#创建对象 foo.prototype.z=3#默认带protorype属性 var obj=new foo();#指向prototype obj.y=2; ###obj.y//1; ###obj.z//3 #在prototype中查找 obj——[[proto]]——foo.prototype———[[proto]]——Object.prototype———null
    查看全部
  • 对象创建 var obj={x:1,y:2,o:{a:2,b:23}}
    查看全部
  • 对象包含一系列属性,这些属性都是无序的,每个属性都有一个自负床key和对应的value。
    查看全部

举报

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

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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