1.
alert(1=='1') // true
alert(1==='1') // false
2.
if ('a' in window) {
var a = 10
}
alert(a) // 10
3.
num = 123
function fun1() {
var num = 123
return num++
}
fun1()
alert(num) // 123
4.
var str = 'xiao.li@gmail.com';
var num=str.indexOf('.')
console.log(num) //4
5.
var msg = 'hello'
for (var i = 0;i < 10; i ++) {
var msg = 'hello' + i * 2 + i
}
console.log(msg) //hello189
6.
var a = /123/,
b = /123/
console.log(a == b) //false
console.log(a === b) //false
7.
function foo (){
var oldName = foo.name
foo.name = 'bar'
console.log(oldName + ',' + foo.name) //foo,foo
}
foo()
8.
console.log(undefined == null) // true
9.
var emp = new Array(5)
emp[1] = 1
emp[2] = 3
console.log(emp.length) // 5
10.
num = 123
function fun1() {
var num = 123
return num++
}
fun1()
console.log(num) //123
11.
console.log(0.1 + 0.1 + 0.1) //0.30000000000000004
12.
HTTP协议、TCP协议、IP协议分别在应用层,传输层,网络层
13.
const obj = { 1: "a", 2: "b", 3: "c" };
const set = new Set([1, 2, 3, 4, 5]);
console.log(obj.hasOwnProperty("1")) //true
console.log(obj.hasOwnProperty(1)) //true
console.log(set.has("1")) //false
console.log(set.has(1)) //true
14.
var a = {}
a.value = 1
b = a
b.value = 2
console.log(a.value) //2
15.
function say() {
console.log(name) //undefined
console.log(age) //报错
var name = 'TJH'
let age = 24
}
say()
16.
function Foo () {
getName = function () {
console.log(1)
}
return this
}
Foo.getName = function () {
console.log(2)
}
Foo.prototype.getName = function () {
console.log(3)
}
var getName = function() {
console.log(4)
}
function getName() {
console.log(5)
}
Foo.getName() //2
getName() //4
Foo().getName() //1
getName() //1
new Foo.getName() //2
new Foo().getName() //3
new new Foo().getName() //3
17.
const a = {}
const b = {key: 'b'}
const c = { key: 'c'}
a[b] = 123
a[c] = 456
console.log(a[b]) //456
18.
let obj1 = {
name: 'xu',
print: function () {
return () => console.log(this.name)
}
}
let obj2 = {name: "tongbao"}
obj1.print()() //xu
obj1.print().call(obj2) //xu
obj1.print.call(obj2)() //tongbao