成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JS那些奇怪的題目(2)

dinfer / 792人閱讀

摘要:屬性返回所屬函數(shù)的函數(shù)名稱。正確字符串如果格式錯(cuò)誤構(gòu)造函數(shù)返回的仍是一個(gè)的實(shí)例所以結(jié)果為第題解析一個(gè)的屬性就是參數(shù)的個(gè)數(shù)。的結(jié)果中國(guó)標(biāo)準(zhǔn)時(shí)間,獲得當(dāng)前時(shí)間是個(gè)對(duì)象,是獲得當(dāng)前時(shí)間是個(gè)字符串。

第23道
[1 < 2 < 3, 3 < 2 < 1]

解析:如果加上括號(hào)就清楚了許多。
(1 < 2) < 3 => (true) < 3 => 1 < 3 => true
(3 < 2) < 1 => (false) < 1 => 0 < 3 => true

所以結(jié)果為 [true, true]

第24題
2 == [[[2]]] //是真還是假?

解析:讓我們來(lái)看看類型轉(zhuǎn)換。

引用類型轉(zhuǎn)換為基本類型(所有的引用類型轉(zhuǎn)換為布爾值都是true)

引用類型轉(zhuǎn)換為字符串

1.優(yōu)先調(diào)用toString方法(如果有),看其返回結(jié)果是否是原始類型,如果是,轉(zhuǎn)化為字符串,返回。 2.否則,調(diào)用valueOf方法(如果有),看其返回結(jié)果是否是原始類型,如果是,轉(zhuǎn)化為字符串,返回。 3.其他報(bào)錯(cuò)。

引用類型轉(zhuǎn)化為數(shù)字

1.優(yōu)先調(diào)用valueOf方法(如果有),看其返回結(jié)果是否是基本類型,如果是,轉(zhuǎn)化為數(shù)字,返回。 2.否則,調(diào)用toString方法(如果有),看其返回結(jié)果是否是基本類型,如果是,轉(zhuǎn)化為數(shù)字,返回。 3.其他報(bào)錯(cuò)。

valueOf()得到的都是對(duì)象本身,toString()方法轉(zhuǎn)為字符串就不用說(shuō)了.

以下來(lái)自犀牛書(shū):

1,null和undefined,相等。
2,數(shù)字和字符串,轉(zhuǎn)化為數(shù)字再比較。
3,如果有true或false,轉(zhuǎn)換為1或0,再比較。
4,如果有引用類型,優(yōu)先調(diào)用valueOf。
5,其余都不相等。

回到本題,調(diào)用valueOf()返回的是本身不是基本類型,然后調(diào)用toString()得到"2",然后變成了字符串和數(shù)字("2" == 2)進(jìn)行比較。

所以結(jié)果為 true

第25題
3.toString();
3..toString();
3...toString();

解析:.在JS里是方法的調(diào)用的一種寫法,但是數(shù)字也是可以有小數(shù)點(diǎn)的。你用3.toString()會(huì)將其解析為一個(gè)帶小數(shù)點(diǎn)的數(shù)字,不會(huì)調(diào)用。

以下可以成功轉(zhuǎn)換

(3).toString(); 
3..toString(); 
"" + 3; 
String(3);

所以結(jié)果為 error "3" error

第26題
(function () {
    var x = y =1;
    })();
 console.log(y);
 console.log(x);   

解析:此時(shí)x是局部變量但是y是全局變量。在外部試圖訪問(wèn)內(nèi)部變量x時(shí)會(huì)出現(xiàn)錯(cuò)誤。

所以結(jié)果為 1 error

第27題
var a = /123/,
    b = /123/;
a == b;
a === b;

解析:ab都是正則,正則也是對(duì)象。

2個(gè)引用的是同一個(gè)對(duì)象、函數(shù)、數(shù)組,則它們相等,如果引用的不是同一個(gè)對(duì)象、函數(shù)、數(shù)組,則不相同,即使這2個(gè)對(duì)象、函數(shù)、數(shù)組可以轉(zhuǎn)換成完全相等的原始值。

所以結(jié)果為 false false

第28題
var a = [1, 2, 3],
    b = [1, 2, 3],
    c = [1, 2, 4];
a ==  b
a === b
a >   c
a <   c

解析:同上題。比較大小時(shí),就按照字典序比較。

所以結(jié)果為 false false false true

第29題
var a = {}, b = Object.prototype;
[a.prototype === b, Object.getPrototypeOf(a) === b]

解析:只有函數(shù)才會(huì)有prototype屬性,所以a.prototype為udnefined。Object.getPrototypeOf(obj)返回一個(gè)具體對(duì)象的原型(該對(duì)象的內(nèi)部[[prototype]]值)

所以結(jié)果為 false true

第30題
function f() {}
var a = f.prototype,
    b = Object.getPrototypeOf(f);
a === b;

解析:var f1 = new f()此時(shí)f1是一個(gè)從f.prototype繼承而來(lái)的對(duì)象(f1是一個(gè)實(shí)例對(duì)象),f.prototype是使用new創(chuàng)建的實(shí)例(f1)的原型。所以a是實(shí)例的原型,而b是f的原型。所以a不同于b。

參考:繼承與原型鏈

var o = {a: 1}; //o這個(gè)對(duì)象繼承了Object.prototype上面的所有屬性
//原型鏈如下o > Object.prototype > null
var a  = ["uo", "waht"]; //數(shù)組都繼承Array.prototype
//原型鏈如下a > Array.prototype > Object.prototype > null
function f() {} //函數(shù)都繼承Function.prototype
//原型鏈如下f > Function.prototype > Object.prototype > null

所以結(jié)果為 false

第31題
function foo() { }
var oldName = foo.name;
foo.name = "bar";
[oldName, foo.name] //輸出什么?

解析:(╯‵□′)╯︵┻━┻。name屬性返回所屬函數(shù)的函數(shù)名稱。Bloody Hell!

參考Function.name

var object = {
    firstMethod: function first() {},
    secondMethod: function () {}
};
console.log(object.firstMethod.name); //first
console.log(object.secondMethod.name); //""

另外函數(shù)的name屬性不能被更改,因?yàn)樗侵蛔x的。

所以結(jié)果為 ["foo", "foo"]

第32題
"1 2 3".replace(/d/g, parseInt)

解析:和第一題還是很類似的。

str.replace(/d/g, function ($0, $1, $2.. , index, string) { }) //$0匹配的子串 $1第一個(gè)括號(hào)匹配的字符串 。。。類推

由于沒(méi)有分組,所以相當(dāng)于

parseInt("1", 0); //1
parseInt("2", 2); //NaN
parseInt("3", 4); //3

所以結(jié)果為 [1, NaN, 3]

第33題
function f() {}
var parent = Object.getPrototypeOf(f);
f.name // ?
parent.name // ?
typeof eval(f.name) // ?
typeof eval(parent.name) //  ?

解析:由30題和31題,可以得到答案。parent === Function.prototype

所以答案為 "f", "", "function", error

第34題
var lowerCaseOnly =  /^[a-z]+$/;
[lowerCaseOnly.test(null), lowerCaseOnly.test()]

解析:test函數(shù)會(huì)將參數(shù)轉(zhuǎn)換為字符串。"null"和"undefined"。

所以結(jié)果為 [true, true]

第35題
[,,,].join(", ")

解析:真惡心還允許最后一個(gè)元素后跟一個(gè),!長(zhǎng)度為3的稀疏數(shù)組,但是并沒(méi)有屬性。

所以結(jié)果為 [, , ]

第36題
var a = {class: "Animal", name: "Fido"};
a.class

解析:與瀏覽器有關(guān)。Chrome下結(jié)果為"Animal"

第37題
var a = new Date("epoch")

解析:Date()可以接受一個(gè)字符串,該字符串應(yīng)該能被Date.parse()方法識(shí)別。

//正確字符串
Date.parse("Wed, 09 Aug 1995 00:00:00")
//如果格式錯(cuò)誤 構(gòu)造函數(shù)返回的仍是一個(gè)Date 的實(shí)例 Invalid Date.

所以結(jié)果為 Invalid Date

第38題
var a = Function.length,
    b = new Function().length;
a === b; //?

解析:一個(gè)function的length屬性就是參數(shù)的個(gè)數(shù)。另外Function.length定義為1

所以結(jié)果為 false

第39題
var a = Date(0);
var b = new Date(0);
var c = new Date();
[a === b, b === c, a === c]

解析:不傳入?yún)?shù)獲得當(dāng)前時(shí)間。b的結(jié)果Thu Jan 01 1970 08:00:00 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間),c獲得當(dāng)前時(shí)間是個(gè)對(duì)象,a是獲得當(dāng)前時(shí)間是個(gè)字符串。

所以結(jié)果為 [false, false, false]

第40題
var min = Math.min(), max = Math.max()
min < max //?

解析:Math.min()不傳參數(shù)返回Infinity,Math.max()不傳參數(shù)返回-Infinity

所以結(jié)果為 false

結(jié)束

終于結(jié)尾了。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/81724.html

相關(guān)文章

  • JS那些奇怪題目(1)

    摘要:表示要解析的數(shù)字的基數(shù)。得到的是,但是注意與所有值都不相等包括本身。所以結(jié)果為第題解析屬性表示在中所能表示的最小的正值。屬性是里最接近的正值,而不是最小的負(fù)值。 原文題目來(lái)自:http://javascript-puzzlers.he...參考的解答:http://www.admin10000.com/doc... 第一道: [1, 2, 3].map(parseInt) 解析:.ma...

    Neilyo 評(píng)論0 收藏0
  • 天池大數(shù)據(jù)比賽總結(jié)

    摘要:這次比賽的題目是給定年月份的用戶在不同地點(diǎn)口碑購(gòu)買記錄,以及年月淘寶上用戶的購(gòu)物行為數(shù)據(jù),來(lái)預(yù)測(cè)月這一整月用戶來(lái)到一個(gè)地點(diǎn)之后會(huì)光顧哪些口碑商鋪。 一直想總結(jié)一下這次的比賽,拖啊拖。。。一直等到現(xiàn)在,趁著現(xiàn)在要找實(shí)習(xí),好好總結(jié)一下。 比賽題目 比賽的官方網(wǎng)站在這,IJCAI SocInf16。 這次比賽的題目是給定 2015 年 7 ~ 11 月份的用戶在不同地點(diǎn)口碑購(gòu)買記錄,以及 2...

    printempw 評(píng)論0 收藏0
  • javasscript - 收藏集 - 掘金

    摘要:跨域請(qǐng)求詳解從繁至簡(jiǎn)前端掘金什么是為什么要用是的一種使用模式,可用于解決主流瀏覽器的跨域數(shù)據(jù)訪問(wèn)的問(wèn)題。異步編程入門道典型的面試題前端掘金在界中,開(kāi)發(fā)人員的需求量一直居高不下。 jsonp 跨域請(qǐng)求詳解——從繁至簡(jiǎn) - 前端 - 掘金什么是jsonp?為什么要用jsonp?JSONP(JSON with Padding)是JSON的一種使用模式,可用于解決主流瀏覽器的跨域數(shù)據(jù)訪問(wèn)的問(wèn)題...

    Rango 評(píng)論0 收藏0
  • Spring MVC官方文檔翻譯稿發(fā)布

    摘要:前后經(jīng)過(guò)九個(gè)月,我翻譯的官方版本中文文檔可以發(fā)布第一個(gè)較為完整的版本了。這點(diǎn)原本是最重要的,但讓位于符合中文習(xí)慣,是因?yàn)槿绻g本有機(jī)翻痕跡,給人的品質(zhì)感和可信度就降低了更準(zhǔn)確和更優(yōu)雅的翻譯風(fēng)格。 showImg(/img/remote/1460000006773992); 前后經(jīng)過(guò)九個(gè)月,我翻譯的Spring MVC官方4.2.4版本中文文檔可以發(fā)布第一個(gè)較為完整的版本了。譯文上盡量做...

    高勝山 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<