作用域
// 1.
fn()
function fn () {
console.log(12)
}
var as = function () {
console.log(45)
}
???// 2.
???var a = 12;
???function fn () {
???????console.log(a)
???????var a = 45;
???????console.log(a)
???}
???fn()
???//3.
???var a = 12;
???function fn () {
???????console.log(a)
???????a = 45;
???????console.log(a)
???}
???fn()
???//4.
???function fn () {
???????console.log(11)
???????function ff () {
???????????console.log(22)
???????}
???????ff()
???}
???fn()
???//5.
???function fn () {
???????console.log(5)
???????fn()
???}
???fn()
???//6.
???function fn () {
???????console.log(12)
???}
???var as = fn()
???console.log(as)
???//7.
???function fn () {
???????console.log(12);
???????return 45;
???????console.log(456)
???}
???var as = fn()
???//8.
???var a = 12;
???function fn () {
???????console.log(a);
???????return 4;
???????var a = 45;
???}
???fn()
???// 9.
???var a = 45;
???function fn () {
???????console.log(a)
???}
???fn()
???// 10.
???var a = 45;
???function fn (a) {
???????console.log(a)
???}
???fn(5)
???// 11.
???var a = 123;
???function fun () {
???????alert(a);
???}
???fun()
???// 12.
???var a = 123;
???function fun () {
???????alert(a);
???????var a = 456;
???}
???fun();
???alert(a);
???// 13.
???var a = 123;
???function fun () {
???????alert(a);
???????a = 456;
???}
???fun()
???alert(a)
???// 14.
???var a = 123;
???function fun (a) {
???????alert(a)
???????a = 456;
???}
???fun()
???alert(a)
???// 15.
???var a = 123;
???function fun (a) {
???????alert(a)
???????a = 456
???}
???fun()
???alert(a)
//16.
function makeNoSense (x) {
this.x = x;
}
makeNoSense(5);
console.log(x);
function test () {
this.x = 1;
alert(this.x);
}
test();
This
//1.
var name = ‘222‘;
var a = {
name : ‘111‘,
say : function () {
console.log(this.name)
}
}
???var fun = a.say;
???fun() ???//???
???a.say() ?//???
???var b = {
???????name : ‘333‘,
???????say : function (fun) {
???????????fun();
???????}
???}
???b.say(a.say); //???
???b.say = a.say;
???b.say() //???
//2.
var val = 1
var obj = {
val : 2,
dbl : function() {
var val = 45;
console.log(this); ??//指向谁?
this.val *= 2;
console.log(this.val); ??//??
console.log(val); //??
}
}
var fn = obj.dbl
fn()
//3.
var x = 12;
function test() {
console.log(this.x)
}
test() ???//??
//4.
var x = 12;
function test() {
console.log(this.x)
}
var obj={
x:45,
ss:test
}
obj.ss() //??
//5.
var x = 12;
function test() {
console.log(this.x)
}
var obj = {
x:45,
ss:function(){
console.log(this)
test()
}
}
obj.ss() //??
//6.
var val = 1
var obj = {
val : 2,
dbl : function() {
// var val = 45;
console.log(this); ????// 指向谁
this.val *= 2;
console.log(this.val); ?// ???
console.log(val); // ???
}
}
var ff = obj.dbl()
原型
待定
从零开始的全栈工程师——js篇(作用域 this 原型笔试题练习)
原文地址:https://www.cnblogs.com/lijieqiqi/p/qiershilianxi.html