<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
/*
* 第一題:
* typeof 的返回值只有以下6種,且都是字符串
* number,boolean,string,object,function,undefined
* 由于 arguments是個對象,所以返回 "object"
* */
/*(function(){
alert(typeof arguments); // object
})();*/
/*
* 第二題:
* 在函數(shù)表達式中,一個變量后跟一個匿名函數(shù),注意沒有名字
* 這里會直接報錯
* */
/*var f = function g(){ return 23; };
alert(typeof g()); // error*/
/*
* 第三題:
* delete 可以刪除一個對象自有屬性中的屬性
* 題中的x是一個參數(shù),無法刪除,但是也不會報錯
* 因此返回的是1
* */
/*(function(x){
delete x;
alert(x);
})(1);*/
/*
* 第四題:
* typeof y,這時的y并不存在,因此 x = y = typeof x = "undefined"
* 返回 "undefined"
* */
/*var y = 1, x = y = typeof x;
alert(x);*/
/*
* 第五題:
* 傳人的參數(shù) function () {return 1} 是一個函數(shù)
* 即f為函數(shù),f()調用函數(shù),返回的是1
* typeof 1 返回的是 "number"
* */
/*(function f(f){
alert(typeof f());
})(function(){ return 1; });*/
/*
* 第六題:
* foo.bar = function() { return this.baz; }
* 閉包中將 foo.bar 作為一個整體傳入,
* arguments[0]就代表foo.bar,并且調用執(zhí)行
* foo.bar中的this.baz中的this代表的是 [object Arguments]
* this.baz 不存在,返回undefined
* */
/*var foo = {
bar: function() {
// alert(this); // [object Arguments]
alert(this.baz);
},
baz: 1
};
(function(){
return typeof arguments[0]();
})(foo.bar);*/
/*
* 第7題:
* 這題和上一題同理,
* f = foo.bar = function(){ return this.baz; },
* foo.bar作為一個整體被傳入到匿名函數(shù)中去
* 即 a = typeof (function(){return this.baz; })();
* (function(){return this.baz; })()自動調用,this指向[object Window]
* 因此this.baz不存在,typeof 返回的為 "undefined"
* */
/*var foo = {
bar: function(){ return this.baz; },
baz: 1
}
var a = typeof (f = foo.bar)();
alert(a);
*/
/*
* 第8題:
* 像(1,2,3)這種帶","的表達式,返回的值為最后一個值
* 因此 var f = (function f(){ return "1"; }, function g(){ return 2; })();
* 即 (function g(){ return 2; })();
* 執(zhí)行的效果為調用 g()函數(shù),這是返回的為2
* 因此 typeof f 為 'number'
* */
/*// var a = (1,2,3);
// alert(a); // 3
var f = (function f(){ return "1"; }, function g(){ return 2; })();
alert(typeof f);*/
/*
* 第9題:
* 布爾值為false的五種情況:
* 數(shù)字0、特殊值的 null、NaN、undefined、字符串""
* if(function f(){}) 返回的為true
* 且在if()語句中的()中定義函數(shù)無效
* 因此 typeof f 返回的為字符串 "undefined"
* x += "undefined",返回的為"1undefined"
* */
/*var x = 1;
if (function f(){}) {
x += typeof f;
}
alert(x);*/
/*
* 第10題:
* 無論var x = [typeof x, typeof y][1];返回的是什么,
* typeof x返回的是字符串
* typeof typeof x 返回的是 "string"
* */
/*var x = [typeof x, typeof y][1];
alert(typeof typeof x);*/
/*
* 第11題:
* 傳入的參數(shù)是 foo = { foo: { bar: 1 } }
* foo.bar 不存在,為undefined
* typeof foo.bar 為 "undefined"
* */
/*(function(foo){
alert(typeof foo.bar);
})({ foo: { bar: 1 } });*/
/*
* 第12題:
* 函數(shù)聲明會被提前執(zhí)行,即執(zhí)行順序為①->③->②
* 因為①③定義了同一個函數(shù),所以③會覆蓋①
* 則f()返回的為2
* */
/*(function f(){
function f(){ return 1; } //①
alert(f()); //②
function f(){ return 2; } //③
})();*/
/*
* 第13題:
* 當構造函數(shù)有返回值時,new 構造函數(shù)的原型就不是自己構造函數(shù)的原型
* 所以new f() instanceof f返回為false
* */
/*function f(){ return f; }
alert(new f() instanceof f);*/
/*
* 第14題:
* 函數(shù)的length屬性返回的是形參的個數(shù)
* 實參的個數(shù)則用 arguments.length表示
* 所以返回2
* */
/*with (function(x, undefined){}) {
alert(length);
}*/
/*
* 第7題:
* */
</script>
</body>
</html>
面試
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
相關閱讀更多精彩內容
- 看起來不起眼的公司,主要是做的APP是檢測藍牙設備的,面試題很用心的出了多達四頁之多,佩服?。?! 好吧,答題開始 ...
- 此家公司比較**(文明文明,和諧掉了),不解釋,面試題出一大堆,都是沒營養(yǎng)的,一去公司都在趴著寫題。 1. 用三種...
- 面試了那么多,終于讓我遇到一家面試Swift的公司,但是,你有本事出題,面試卻問不出所以然,很納悶?。?! 開始解題...
- 這家公司那么多題就給我半個小時,寫都來不及寫。做題做題?。?! iOS部分 1.iOS的UIViewControll...