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)
