1.
console.log("ddd") var data = []; for(var i = 0 ; i < 3; i++){ data[i]=function() { console.log(i); } } data[0]();// 3 data[1]();// 3 data[2]();// 3 console.log("-----------"); function counter() { var x = 0; return { increase: function increase() { return ++x; }, decrease: function decrease() { return --x; } }; } var ctor = counter(); console.log(ctor.increase()); console.log(ctor.decrease()); console.log(ctor.increase); console.log(ctor.decrease); console.log("-----------"); let a = 1, b = {c: 3}; a = 2; var s={c: a} = b; console.log(a); console.log("-----------"); console.log(new Date("2021/10/15 15:00:12")); console.log(new Date("2021-10-15 15:00:13")); console.log("-----------"); function func() { console.time("func"); var obj = { a: 1 }; for(var i = 0; i < 100000; i++) { obj.a=i; } console.timeEnd("func"); } func(); function funcWith() { console.time("funcWith"); var obj = { a: 1 }; with(obj) { for(var i = 0; i < 100000; i++) { a = i; } } console.timeEnd("funcWith"); } funcWith(); console.log("-----------"); console.log(false.toString()); console.log(false); console.log(5 + null) // 返回 5 null 转换为 0 console.log("5" + null) // 返回"5null" null 转换为 "null" console.log("5" + 1) // 返回 "51" 1 转换为 "1" console.log("5" - 1) // 返回 4 "5" 转换为 5 console.log("-----------"); var y = "5"; // y 是一个字符串 var x = 1 + y; console.log(x) console.log("-----------"); var x = 0.1; var y = 0.2; var z = x + y; if(z*10==30){ console.log("yes") } console.log(z) console.log("-----------"); websites = {site:"菜鸟教程", url:"www.runoob.com", like:460,} var colors = [5, 6, 7,]; //这样数组的长度可能为3 也可能为4。 if (typeof myObj !== "undefined" && myObj !== null) // if (myObj !== null && typeof myObj !== "undefined") console.log(colors.length) else console.log(colors.length+1) console.log("-----------"); var obj = { birth: 1990, getAge: function (year) { var b = this.birth; // 1990 var fn = (y) => y - this.birth; // this.birth仍是1990 return fn.call({birth:2000}, year); } }; var obj1={ birth:2005 } console.log(obj.getAge(2015)); // 25 ,fn.call({birth:2000}, year)传递的对象无用 console.log(obj.getAge.call(obj1,2015));//10 console.log("__________") var person1 = { firstName:"Johnrrr", lastName: "Doerrr", fullName: function() { var fn = () => this.firstName + " " + this.lastName; return fn.call(); } // fullName: () => {return this.firstName + " " + this.lastName;} } var person2 = { firstName:"John", lastName: "Doe", } console.log(person1.fullName()) //Johnrrr Doerrr console.log(person1.fullName.call(person2)); // 返回 "John Doe" console.log("__________") let tea = [1,2,{name:true}]; let arr4 = tea.map((it,id)=>{ if (id===2) { it.name = 'edit' } return it }) console.log(tea[2].name)