JavaScript学习
Uhisa
这个作者很懒,什么都没留下…
展开
-
ES6-箭头函数的this指向
箭头函数的this是在定义函数时确定的,不是在执行过程中确定的外部的this指向哪,箭头函数的this就只指向哪普通函数let obj = { name:'obj内部name', syaName:function(){ function foo() { console.log(this.name);//undefined } foo()//普通函数的执行,this执行全局 }}obj.syaName()foo是由全局执行的,和它所在的位置无关.原创 2021-09-25 18:07:25 · 172 阅读 · 0 评论 -
ES6-note-01
解构:对象的解构://name age用来匹配,one two 才是用来接收的值let {name:one, age:two} = {name:'zhangsan', age: 13}//console.log(name, age); 报错console.log(one, two);//zhangsan 13ES6对象简写// let {name:name, age:age} = {name:'zhangsan', age: 13}let {name, age} = {name:'LBJ'转载 2021-09-16 21:41:49 · 66 阅读 · 0 评论 -
JS-继承
JS的继承首先需要知道call和apply的使用:-call(执行环境对象,参数列表), 列表即说明可以传递多个参数let obj1 = { name:'LBJ'}let obj2 = { name:'KOBE'}function sayName() { console.log(this.name);}sayName()//undefined此时的sayName()相当于window.sayName(),this指向window,所以this.name为undefined原创 2021-09-10 21:35:45 · 65 阅读 · 0 评论 -
JS创建对象的模式
JS工厂模式使用字面量创建对象。let person = { name: "LBJ", age: 23, gender: 'male', sayName: function(){ console.log(this.name); }}var animal = new Object();person.name = "wugui";person.age = 18;person.gender = 'male';person.sayName = function(){原创 2021-09-02 23:49:30 · 71 阅读 · 0 评论 -
JS对象的深拷贝
JS对象的深拷贝JavaScript的原始值在栈内存中存放的是本身的值,而对象属性在栈内存中存放的是该对象在堆内存中的地址。如果一个对象的属性的值全部都是初始值时,通过简单的循环也可以进行深拷贝。但是如果一个对象的属性结构变得复杂时,就需要进行深一步的考虑。let person = { name: 'LBJ', message: { tel: "yyy", email: "@com" }}function copy(obj) { let res = {} f原创 2021-08-31 18:45:39 · 176 阅读 · 0 评论 -
JavaScript-02
JavaScript-02隐式转换的部分笔记隐式转换原始类型:undefined、string、number、Boolean、null、symbol对象类型:object-基本类型的转换1.字符串加数字,数字就会转成字符串。数字加数字或字符串加字符串不需要转换。 只要运算过程中有字符串,结果就是字符串 var a = 1 + 2 + '3'//'出现了字符串' console.log(a, typeof a); // '33' string var b = 1 + 2 + 3;原创 2021-08-23 20:07:03 · 65 阅读 · 0 评论 -
javascript-01
javascript-01学习笔记let和var1.变量的提升与否var存在变量提升 age = 13 var age; console.log(age);//不报错,可以正常声明let不存在变量的提升 // 使用let时,如果未定义就使用变量, name = "zzzz" let name;//报错ES6 规定暂时性死区和let、const语句不出现变量提升,主要是为了减少运行时错误,防止在变量声明前就使用这个变量,从而导原创 2021-08-17 20:11:51 · 63 阅读 · 0 评论