![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Js
yyang_233
这个作者很懒,什么都没留下…
展开
-
理解Array.prototype.slice.call(arguments)
1、基本讲解 1.在js里Array是一个类 slice是此类里的一个方法 ,那么使用此方法应该Array.prototype.slice这么去用 slice这方法如何使用呢? arrayObj.slice(start, [end]) 很显然是截取数组的一部分。 2.我们再看call call([thisObj[,arg1[arg2[[argN]]]]]) thisObj是一个对象的方法 arrg1~argN是参数 那么Array.prototype.slice.call(arguments,1); 这句话原创 2020-09-24 12:46:28 · 277 阅读 · 0 评论 -
es5严格模式学习总结
try里面的代码发生错误,不会执行错误后的try里面的代码,接着执行外部的代码; try里面的代码发生错误,执行catch里面的代码,将错误信息显示 try{ console.log('a'); console.log(b); console.log(c); }catch(e){ // error error.message error.name --> error console.log(e.name + ':' + e.message); } console.log('d'); erro原创 2020-08-07 16:08:33 · 146 阅读 · 0 评论 -
数组,类数组学习总结13
数组是基于对象的 数组 定义数组的方式 var arr = []; // 数组字面量 var arr = new Array(); // 系统提供的构造方法 来源于 Array.prototype 数组的读和写 arr[num] // 不可以溢出读,结果是undefined arr[num] = xxx; // 可以溢出写 数组常用的方法 es3.0 改变原数组 push 可向数组的末尾添加一个或多个元素,并返回新的长度。 pop 删除并返回数组的最后一个元素。 shift 删除并返回数组的第一个元素.原创 2020-08-06 18:46:12 · 244 阅读 · 0 评论 -
克隆学习总结12
所谓拷贝,就是赋值。把一个变量赋给另外一个变量,就是把变量的内容进行拷贝。把一个对象的值赋给另外一个对象,就是把一个对象拷贝一份。 浅克隆 浅拷贝是创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型,拷贝的就是基本类型的值,如果属性是引用类型,拷贝的就是内存地址 ,所以如果其中一个对象改变了这个地址,就会影响到另一个对象。 const obj = {a:1, b:2}; const obj2 = obj; obj2.a = 3; console.log(obj.a); //.原创 2020-08-06 18:46:49 · 269 阅读 · 0 评论 -
继承,对象枚举学习总结11
继承发展史 传统形式 --> 原型链 过多的继承了没用的属性 Grand.prototype.lastName = "yang"; function Grand(){} var grand = new Grand(); Father.prototype = grand; function Father(){ this.name = "heihei"; } var father = new Father(); Son.prototype = father; function Son(){} v原创 2020-08-06 16:16:27 · 100 阅读 · 0 评论 -
this学习总结10
函数预编译过程 this->window 全局作用域 this->window call/apply 改变函数运行时this指向 obj.func() func里面的this指向obj 一、在一般函数方法中使用 this 指代全局对象 function test(){ this.x = 1 console.log(this.x) } test(); // 1 this--->window 二、作为对象方法调用,this 指代上级对象 谁调用了这个方法,this就指向.原创 2020-08-07 15:00:16 · 251 阅读 · 0 评论 -
call,apply,bind学习总结9
call function test(){ } test(); ---> test.call(); 其实test.call()才是这个函数真正的执行。 call的根本作用是改变this的指向。利用别人的函数实现自己的功能。 function Person(name,age){ this.name=name; this.age=age; } Person(); ---> Person.call(); var obj={}; Person.call(obj,'minmin',18) ca原创 2020-08-05 15:48:08 · 206 阅读 · 0 评论 -
原型,原型链学习总结8
原型 定义:原型是function对象的一个属性,它定义了构造函数制造出的对象的公共祖先。通过该构造函数产生的对象,可以继承该原型的属性和方法。原型也是对象。 // Person.prototype --原型 // Person.prototype={} --祖先 Person.prototype.name="minmin" function Person(){ } var person = new Person(); var person1 = new Person(); 构造函数是用来生产对象的原创 2020-08-05 15:45:10 · 116 阅读 · 0 评论 -
对象,包装类学习总结7
当一个变量没声明就使用会报错 但是当一个对象的属性没声明就使用不会报错,是undefined 对象的创建 对象字面量/对象直接量 var obj = {}; 构造函数 系统自带的构造函数 Object() var obj = new Object(); 自定义 function Car(color){ this.color = color; this.name = "BMW"; this.height = "1400"; this.lang = "4000"; this.weight = 1000原创 2020-08-05 15:40:59 · 124 阅读 · 0 评论 -
闭包学习总结6
function a(){ function b(){ var bbb = 234; document.write(aaa); } var aaa = 124; return b; } var glob = 100; var demo = a(); demo(); // 124 a() 执行完了,要销毁a的AO, 但是在销毁AO之前,把b保存到外面去了,把a()执行的结果放到demo里面去了, 在demo执行之前,a的AO已经被销毁了,但是b还有a的AO function a(){原创 2020-07-25 11:10:49 · 103 阅读 · 0 评论 -
立即执行函数学习总结5
立即执行函数 执行完就会把这个函数立即释放销毁。 适合做初始化工作。 写法: (function(){}()); --> w3c建议使用这种 (function(){})(); 只有表达式才能被执行符号执行 //这种写法不行,会报语法错误 function test () { var a=123; }() 因为括号前面一块叫函数声明。 //这种写法可以 var test = function() { var a=123; console.log(a); }()原创 2020-07-25 09:02:34 · 111 阅读 · 0 评论 -
作用域,作用域链学习总结4
函数就像一个屋子一样,这个屋子的形成就好像形成了一个单独的域,和外界有一些阻隔,里面可以看到外面的,外面的不能看到里面。 作用域 var a = 123; function test(){ document.write(a); // 123 var b = 456; } test(); document.write(b); // b is not defined 函数里面可以访问函数外面的东西,a是全局变量; 函数外面不能访问函数里面的东西 ,b是局部变量 作用域定义 变量(变量作用域又称上下文.原创 2020-07-23 12:12:28 · 146 阅读 · 0 评论 -
预编译学习总结3
js特点: 单线程 解释性语言:翻译一句执行一句 js运行三部曲 1.语法分析 通篇扫描一遍,但是不执行 2.预编译 3.解释执行 预编译 函数声明 整体提升 变量 声明提升 预编译前奏 暗示全局变量 imply global 即任何变量,如果变量未经声明就赋值,此变量为全局对象 window所有。全局对象是window。 function fn(){var a=b=123;} 123赋值给b,此时b未声明,归window所有,window.b=123; 声明a,再把b赋值给a,window.a=原创 2020-07-21 12:10:55 · 70 阅读 · 0 评论 -
函数学习总结2
函数声明 function func(){ } // fun 表示函数体 // func() 表示执行函数 函数表达式 命名函数表达式 var func = function test(){ } // func(); 表示执行函数 // test; test is not defined 表达式是忽略名字的 写了test也没什么作用 // func.name --> test 匿名函数表达式 var func = function (){ } // func(); // func.name -原创 2020-07-16 20:28:06 · 185 阅读 · 0 评论 -
typeof(),类型转换学习总结1
typeof() 有两种写法:typeof() typeof加空格 typeof 可以给我们返回六种数据类型, number,string,boolean object, undefined, function null最开始是代替空对象的形式出现的,给对象来占位的, 类型转换 var num = 1 + 1 // 2 number var num = 1 + '1' // 11 string var num = 1 - '1' // 0 number var num = '2' - '1' // 1 nu原创 2020-07-14 21:23:56 · 1248 阅读 · 0 评论 -
Dom节点和属性操作
DOM操作 一、访问/获取节点 document.getElementById(id);//返回对拥有指定id的第一个对象进行访问 document.getElementsByName(name);//返回带有指定名称的节点集合 document.getElementsByTagName(tagname); //返回带有指定标签名的对象集合 document.getElementsByClassName(classname); //返回带有指定class名称的对象集合 querySele原创 2020-06-13 14:52:41 · 892 阅读 · 0 评论 -
将时间戳转换成时间格式化字符串
如何将时间戳转换成时间格式化字符串 ** 服务器返回时间是一串数字 以Unix时间元年为起点,返回对应的时间戳 ** 时间戳是秒 将时间戳转换成Date对象(毫秒) 将Date进行格式化,转换成对应的字符串 ** 格式 (data,‘yyyy-MM-dd hh:mm:ss’) ** 格式 (data,‘yyyy/MM/dd hh:mm:ss’) y:year 年 M:Month 月 (大写,和...原创 2020-04-29 15:32:48 · 1044 阅读 · 0 评论