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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
492人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 封装属性
    查看全部
  • 普通函数:调用之后就被释放 闭包作用:点击事件,用到外部变量,有了闭包会更加方便。 循环闭包的错误:如图错误。addEventListener()是一个回调函数,当我点击的时候才会获取这个i的值。但i在整个初始化的时候i已经是4。解决方法加多一个立即执行的匿名函数。 闭包的好处:函数有自己的作用域,定义的变量外部访问不到。封装具体的复杂的函数逻辑
    查看全部
  • splice
    查看全部
  • 1.join()方法 默认是将字符串转换为字符串,并以“,”隔开元素,而join()中的参数就是替换字符串中的“,”, 而new Array(n+1).join(str)的原理是,创建一个n+1大小的数组,若用join()方法会产生含n个“,”的字符串,而str正好代替这些“,”以造成重复n次str参数的字符串。(n+1)个数组元素,join()有n个逗号 2.reverse()方法 将数组的顺序颠倒,注意:原数组会被改变成颠倒后的数组。 3.sort()方法 sort()方法只会对数组进行字符顺序上的排序,例如a,b,c,d,而如果是数字,则会取第一位数的字符顺序进行排序,改完以后原数组会被修改。如果想用sort进行数字上的排序,则应写入函数参数function(a,b){return a-b;},这是升序排列,反之降序是b-a。 4.concat()方法 作用是合并数组,返回值是合并后的数组,原数组不会改变。如果参数是一个一维数组(没有嵌套),则合并的时候会拉平数组,如果是嵌套数组,合并后只会拉平最外一层。 5.slice()方法 切断数组,原数组不会修改,如果传入一个参数n,则返回第n+1个到最后一个元素的数组,如果传入n,m,则返回第n+1到m元素的数组,-1代表最后一个元素,-2代表倒数第二个元素,以此类推,若输入的参数为负数i,j,则返回倒数第|i|个到倒数第|j|+1个元素,总结来说,对于正数,左区间开,对于负数,右区间开。 6.splice胶结方法 切断数组胶结数组,原数组会被修改,输入参数n,那么原数组第n+1个元素到最后一个元素都会被删除(会作为该函数的返回值),如果输入参数m,n,则删除第m+1个到第m+n个元素。如果输入两个以上的参数则删除前两个参数所指定的元素,替换上剩下的参数。
    查看全部
  • ES5特性下的arr函数 1.forEach(function(x,index,a){ do something });按数组长度循环,每次循环中,参数x为当前循环的元素,index为下标,a为指向本数组的指引。 2.map(function(x){ do something }); 也是将数组循环,x为当前循环的元素。不会修改原数组。 3.filter(function(x,index){return % 3 === 0|| x>8; }); 可以按function内的条件过滤数组。不会修改原数组。 4.arr.every(function(x){return x<10;})判断数组每个元素是否满足条件,arr.some()则是判断数组内是否含有满足条件的元素。 5.reduce(function(x,y){return x+y;},0);数组元素两两作运算(从左开始),reduceRight则是从右开始。不会改变原数组。 6.indexOf() 检索参数在数组中所在的下标。lastIndexOf(),从右边开始查找 7.isArrray([]); [] instanceof Array; ({}).toString.apply([])==='[object Array]' [].constructor===Array; 都是判断是否为数组的方法。
    查看全部
  • 稀疏数组的“空位”什么元素都没有,只有索引,所以in关键字判断该位置为false,这和含有undefind是不一样的。
    查看全部
  • 函数声明不是可以立即调用的吗? $(document).ready(function(){ (function foo(){ console.log(5+6); alert(11); }()); //foo(5,6); }) 这样写能输出啊。 或者这样,括号在外面,也能 $(document).ready(function(){ (function foo(){ console.log(5+6); alert(11); })(); //foo(5,6); })
    查看全部
  • function add(a,b,c){ return a+b+c; } var func = add.bind(undefined,100); //a绑定100 func(1,2);//103 var func2 = func.bind(undefined,200); //b绑定200 func2(10);//310
    查看全部
  • .call( object,参数, 参数,); .apply( object,[参数,参数]);
    查看全部
    0 采集 收起 来源:[JavaScript]this

    2015-04-13

  • 数组VS对象: 相同点:都可以继承,数组是对象,对象不一定是数组,都可以当作对象添加删除属性。 不同点:数组自动更新length,按索引访问数组常常比访问一般对象属性明显迅速。数组对象继承Array.prototype上的大量数组操作方法。
    查看全部
  • 学习笔记
    查看全部
  • 题目不错 代码尽量简洁了
    查看全部
    0 采集 收起 来源:编程练习

    2015-04-13

  • function add(a,b,c){ return a+b+c; } var func = add.bind(undefined,100); //a绑定100 func(1,2);//103 var func2 = func.bind(undefined,200); //b绑定200 func2(10);//310
    查看全部
  • arr[arr.length]=4 在尾部添加一个元素4 delete arr[2] 将第三个元素赋为undefined arr.unshift(0) 在头部添加一个元素0 arr.length -=1 删除数组的最后一个元素 arr.pop() 在尾部删除一个元素 arr.shift() 从最前面删除一个元素
    查看全部
  • 数组push()
    查看全部

举报

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

微信扫码,参与3人拼团

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

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