从零开始的全栈工程师——js篇(作用域 this 原型笔试题练习)

Posted WelcomeToMyBlog!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从零开始的全栈工程师——js篇(作用域 this 原型笔试题练习)相关的知识,希望对你有一定的参考价值。

作用域

// 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 原型笔试题练习)的主要内容,如果未能解决你的问题,请参考以下文章

从零开始的全栈工程师——js篇2.15

从零开始的全栈工程师——html篇1.9(js开篇)

从零开始的全栈工程师——js篇2.19(BOM)

Web全栈工程师之路——JavaScript篇(十六)——作用域

Web全栈工程师之路——JavaScript篇(十六)——作用域

前端晋升全栈工程师必备课程 Node.js 从零开发web server博客项目