javascriptの面接試験問題
1559 ワード
(申明:本文は新浪微博@ITプログラム猿に転换します.添付ファイルは元の写真です.)
問題1
出力はundefinedで、5
aはvarを通じて説明しますが、b = window.b グローバル変数ですが、厳密なモードではエラーが発生します.
問題2
生の方法
主に既存の方法をカバーしないようにするべきです.
問題3
運転結果はundefined、2 理由:変数と関数の説明は前倒しされましたが、変数には値が割り当てられていませんので、Unidefinedです.
問題四
最初の出力Bの2番目の出力はCであり、
最初のconsolie.log()でget Full Nameを呼び出す対象は、Obj.propであるため、thisはBを指す.
第二のconsolie.logs()でget FullNameを呼び出す対象はwindowですので、thisはCを指します.
問題5
テーマ4のロゴ出力Bをcallとappyで強制的にコンテキストを変更するにはどうすればいいですか?
問題1
(function(){var a = b = 5})()
console.log(a);
console.log(b);
出力はundefinedで、5
aはvarを通じて説明しますが、b = window.b グローバル変数ですが、厳密なモードではエラーが発生します.
var a = b = 5 ;
b = 5 ;
var a = b ;
問題2
生の方法
String.prototype.foo = String.prototype.foo || function(){/..code../}
主に既存の方法をカバーしないようにするべきです.
問題3
function test(){
console.log(a);
console.log(foo());
var a = 1 ;
function foo() { return 2};
}
test()
運転結果はundefined、2 理由:変数と関数の説明は前倒しされましたが、変数には値が割り当てられていませんので、Unidefinedです.
問題四
var fullName = "C";
var obj = {
fullName : "A",
prop:{
fullName:"B",
getFullName:function(){
return this.fullName;
}
}
}
console.log(obj.prop.getFullName());
var dd = obj.prop.getFullName;
console.log(dd());
最初の出力Bの2番目の出力はCであり、
最初のconsolie.log()でget Full Nameを呼び出す対象は、Obj.propであるため、thisはBを指す.
第二のconsolie.logs()でget FullNameを呼び出す対象はwindowですので、thisはCを指します.
問題5
テーマ4のロゴ出力Bをcallとappyで強制的にコンテキストを変更するにはどうすればいいですか?
dd.call(obj.prop)