导航
// 写在所有代码的最上方
'use strict'; // 严格模式 字符串
// 写在函数内部第一行(推荐)
function test() {
'use strict';
}
var a = 1;
var obj = {
a: 2
}
function test() {
var a = 3;
with(test) {
console.log('test->>', a);
}
with(window) {
console.log('window->>', a);
}
with(obj) {
console.log('obj->>', a);
}
}
test();
'use strict';
var a = 1;
var obj = {
a: 2
}
function test() {
var a = 3;
with(test) {
console.log('test->>', a);
}
}
test();
'use strict';
function test() {
console.log(arguments.callee)
}
test();
'use strict';
function test() {
test2();
}
function test2() {
console.log(test2.caller)
}
test();
'use strict';
function test() {
var a = b = 1;
}
test();
'use strict';
function test() {
console.log(this);
}
test();
function test(a, a) {
console.log(a);
}
test(1, 2);
'use strict';
function test(a, a) {
console.log(a);
}
test(1, 2);
非严格模式下,打印后者:
function test(a, a) {
console.log(a, a);
}
test(1, 2); // 2 2
'use strict';
var obj = {
a: 1,
a: 2
}
console.log(obj.a);
eval('var a = 1; console.log(a);');
console.log(a);
'use strict';
eval('var a = 1; console.log(a);');
console.log(a);