WY-javascript練習(xí)收集

類(lèi)型系統(tǒng)


1舍哄、以下表達(dá)式返回的值是多少褪秀?

“1”-null+true

答案: 2

2塌西、type([])的結(jié)果是?

  • A “Object”
  • B “Function”
  • C “Array”
  • D “object”

答案: D

3关翎、以下表達(dá)式返回的結(jié)果是false的有?

  • A (function(){}).constructor == Object
  • B [].constructor == Array
  • C true.constructor == Boolean
  • D (1).constructor == Number

答案: A (Function)

4饥侵、以下語(yǔ)句執(zhí)行后痊银,a的值不是undefined的有?

  • A var a = (function(b){return b;})();
  • B var a = document.getElementById('notExistElement');
  • C var o = {x:1};var a = o.y;
  • D var a

答案: B (null)

知識(shí)點(diǎn)
undefined 出現(xiàn)場(chǎng)景:
已聲明未賦值的變量
獲取對(duì)象不存在的屬性
無(wú)返回值的函數(shù)的執(zhí)行結(jié)果
函數(shù)的參數(shù)沒(méi)有傳入
void(express)

5航邢、實(shí)現(xiàn)type函數(shù)用于識(shí)別標(biāo)準(zhǔn)類(lèi)型和內(nèi)置對(duì)象類(lèi)型耕赘,語(yǔ)法如下:

var t = type(obj)

答案:

function type(obj){
    return  Object.prototype.toString.call(obj).slice(8, -1).toLowerCase()
}

內(nèi)置對(duì)象


1、以下代碼執(zhí)行完成后president.name的值是

function setName(obj){
    obj.name = "obama";
    obj = {name:"clinton"};
}
var president = {name:"bush"};
setName(president);
  • A."clinton"
  • B.undefined
  • C."obama"
  • D."bush"

答案:C

2膳殷、以下代碼執(zhí)行后a操骡、b的值分別是?

var str = "welcome to NetEase!welcome to MOOC!";
var a = str.indexOf("to");
var b = str.indexOf("to", a+1);

答案:8赚窃,27

3册招、以下代碼執(zhí)行后ret和arr的值分別是?

var arr=[1,2,"a","b"];
var ret=arr.splice(1,2,3);

答案:
ret : [2,"a"]
arr : [1,3,"b"]

知識(shí)點(diǎn)
splice() 方法 向/從數(shù)組中添加/刪除項(xiàng)目考榨,然后返回被刪除的項(xiàng)目跨细。
注釋?zhuān)涸摲椒〞?huì)改變?cè)紨?shù)組。
語(yǔ)法:arrayObject.splice(index,howmany,item1,.....,itemX)

4河质、以下表達(dá)式返回結(jié)果是冀惭?

parseInt("10.1",16)
  • A.16
  • B.10
  • C.10.1
  • D.8

答案: A

5、表達(dá)式 "1+1".replace("1","2") 返回結(jié)果是掀鹅?

答案:2+1

知識(shí)點(diǎn)
replace(str1,str2)方法替換的只是第一個(gè)匹配的字符串


如果想要替換全部散休,可以使用正則。(但這種正則表達(dá)式是有局限的)
var str = "男的女的老的少的";
alert(str.replace(new RegExp(/(的)/g),''));


匹配的是一些特定的字符串乐尊,如何匹配動(dòng)態(tài)的字符串呢戚丸?
var replaceStr = "的";
alert(str.replace(new RegExp(replaceStr,'gm'),''));
這樣我們就完成了匹配字符串的動(dòng)態(tài)賦值。


另外還有其他的方法實(shí)現(xiàn)全部替換
alert(str.split(replaceStr).join(''));

6、(/^abc/i).test("Abc123")的結(jié)果是限府?

答案:true

7夺颤、var obj = Object.create({a:1}); obj.hasOwnProperty('a')返回結(jié)果是___?

答案:false ( - a是對(duì)象原型連上的屬性)

知識(shí)點(diǎn)
Object.create(proto[,propertisObject])
是基于原型對(duì)象創(chuàng)建新對(duì)象


Object.prototype.hasOwnproperty判斷一個(gè)屬性是否是對(duì)象自身屬性

表達(dá)式與運(yùn)算符


1胁勺、代碼執(zhí)行后a,b的值分別是多少世澜?

var a = 0
var b = true || a++

答案: 0,true

2署穗、代碼執(zhí)行后a,b的值分別是多少寥裂?

var a = 0
var b = true && a++

答案: 1,0

3案疲、一些表達(dá)式返回結(jié)果為true的有:封恰?

  • A Number("a") == NaN
  • B false =="0"
  • C "123" == 123
  • D new String("123") =="123"

答案: BCD

知識(shí)點(diǎn)補(bǔ)充
類(lèi)型轉(zhuǎn)換例外情況:
null == undefined //true
null或undefined參與進(jìn)行==運(yùn)算時(shí)不進(jìn)行隱式類(lèi)型轉(zhuǎn)換
0 == null //false
null == false //false
"undefined" == undefined //false

變量作用域


1、以下代碼執(zhí)行時(shí)兩個(gè)alert的值是多少褐啡?

(function(){
   a = 5;
   alert(window.a)
   var a = 10;
   alert(a)
 })()

答案:undefined 10

2诺舔、以下代碼執(zhí)行時(shí)alert的值是多少?

var a = 6;
(function(){
   alert(window.a)
       alert(a)
   var a = 10;
   alert(a)
 })()

答案:6 undefined 10

3春贸、以下代碼執(zhí)行時(shí)兩個(gè)alert的值是多少混萝?

var a = 6;
(function(){
       alert(a)
 })()

答案:6

4、以下代碼執(zhí)行時(shí)alert的值是多少萍恕?

var x = 10;
function foo(){
    alert(x);
}
function bar(){
    var x = 20;
    foo();
}
bar();

答案:10

知識(shí)點(diǎn)1
用詞法環(huán)境進(jìn)行分析

知識(shí)點(diǎn)2
JS使用動(dòng)態(tài)作用域
JS沒(méi)有塊級(jí)作用域
JS函數(shù)運(yùn)行在他們被定義的作用域里
catch語(yǔ)句可以臨時(shí)改變js變量作用域

閉包

1、以下代碼執(zhí)行時(shí)alert的值是多少车要?

var a=1;
var func = (function(){
    var a=2;
    return function(){
        a++;
        alert(a)
    }
})()
func();
func();

答案:3,4

面向?qū)ο?/h1>

1允粤、eval函數(shù)中的this值是?

答案:調(diào)用上下文的this

2翼岁、下列關(guān)于js描述正確的有类垫?

  • A js中可以使用prototype實(shí)現(xiàn)原型繼承
  • B 在對(duì)象構(gòu)造器中,可以使用this創(chuàng)建對(duì)象的屬性
  • C js中不能使用面向?qū)ο?/li>
  • D js中不能給未定義的變量賦值

答案:AB

3琅坡、使用 new Function()創(chuàng)建的函數(shù)代碼中this是全局對(duì)象悉患?

  • A js中可以使用prototype實(shí)現(xiàn)原型繼承
  • B 在對(duì)象構(gòu)造器中,可以使用this創(chuàng)建對(duì)象的屬性
  • C js中不能使用面向?qū)ο?/li>
  • D js中不能給未定義的變量賦值

答案:AB

4榆俺、使用new Function()創(chuàng)建的函數(shù)代碼中的this是全局對(duì)象售躁?

  • A 錯(cuò)誤
  • B 正確

答案:B
例如:

   var foo3 = new Function('var temp = 100; console.log(this); this.temp = 200; return temp + this.temp;');
  //this 指window對(duì)象

4、JS中所有函數(shù)都可以當(dāng)成構(gòu)造器茴晋?

  • A 錯(cuò)誤
  • B 正確

答案:A

5陪捷、以下代碼用于判斷user對(duì)象就有自身屬性name?
user.______('name')

答案:hasOwnProperty

5诺擅、以下代碼alert的值依次是市袖?

function Teacher(){}

Teacher.prototype = {
    job : 'teacher',
    setName : function(name){
        this.name = name
    }
}

var bill = new Teacher()
bill.setName('Bill')
alert(bill.name) //Bill
alert(bill.job) //teacher

bill.job = 'assistant';
alert(bill.job) //assistant
delete bill.job;
alert(bill.job); //teacher

答案:Bill teacher assistant teacher

6、寫(xiě)代碼

Object.create

if( typeof Object.create != 'function'){

    Object.create = function(obj){
        if( typeof obj != 'object' ){
            throw TypeError('Object prototype may only be an Object or null')
        }
        var r = function(){}
        r.prototype = obj
        return new r;  //new r() 與new r 沒(méi)有區(qū)別烁涌,只是r函數(shù)沒(méi)有參數(shù)時(shí)苍碟,括號(hào)可以省略
    }

}

var a = Object.create({x:1,y:2})
alert(a.x)

綜合


1酒觅、寫(xiě)代碼

題目

答案:

function myType(param){
    alert("I am an " + Object.prototype.toString.call(param).slice(8, -1) )
}

2、寫(xiě)代碼

題目
function search(arr,dst){
    var type = Object.prototype.toString.call(arr).slice(8,-1);
    if(type != 'Array'){
        throw TypeError('Object prototype may only be an Array')
    }
    var len = arr.length;
    if( !len){
        return -1;
    }

    var l = 0;
    var h = len - 1;
    while(l <= h){
        var m = Math.floor( (h+l)/2 );
        if( arr[m] == dst ){
            return m;
        }else if( dst < arr[m] ){ //左半部分
            h = m - 1;
        }else{ //右半部分
            l = m + 1;
        }

    }
}
var arr = [1,2,4,6,7,9,19,20,30,40,45,47];
alert( search(arr,45) )
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末微峰,一起剝皮案震驚了整個(gè)濱河市舷丹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌县忌,老刑警劉巖掂榔,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異症杏,居然都是意外死亡装获,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)厉颤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)穴豫,“玉大人,你說(shuō)我怎么就攤上這事逼友【啵” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵帜乞,是天一觀的道長(zhǎng)司抱。 經(jīng)常有香客問(wèn)我,道長(zhǎng)黎烈,這世上最難降的妖魔是什么习柠? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮照棋,結(jié)果婚禮上资溃,老公的妹妹穿的比我還像新娘。我一直安慰自己烈炭,他們只是感情好溶锭,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著符隙,像睡著了一般趴捅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上膏执,一...
    開(kāi)封第一講書(shū)人閱讀 51,365評(píng)論 1 302
  • 那天驻售,我揣著相機(jī)與錄音,去河邊找鬼更米。 笑死欺栗,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播迟几,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼消请,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了类腮?” 一聲冷哼從身側(cè)響起臊泰,我...
    開(kāi)封第一講書(shū)人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蚜枢,沒(méi)想到半個(gè)月后缸逃,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡厂抽,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年需频,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片筷凤。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡昭殉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出藐守,到底是詐尸還是另有隱情挪丢,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布卢厂,位于F島的核電站乾蓬,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏慎恒。R本人自食惡果不足惜巢块,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望巧号。 院中可真熱鬧,春花似錦姥闭、人聲如沸丹鸿。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)靠欢。三九已至,卻和暖如春铜跑,著一層夾襖步出監(jiān)牢的瞬間门怪,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工锅纺, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留掷空,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像坦弟,于是被迫代替她去往敵國(guó)和親护锤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 《ijs》速成開(kāi)發(fā)手冊(cè)3.0 官方用戶(hù)交流:iApp開(kāi)發(fā)交流(1) 239547050iApp開(kāi)發(fā)交流(2) 10...
    葉染柒丶閱讀 5,134評(píng)論 0 7
  • 第一章: JS簡(jiǎn)介 從當(dāng)初簡(jiǎn)單的語(yǔ)言酿傍,變成了現(xiàn)在能夠處理復(fù)雜計(jì)算和交互烙懦,擁有閉包、匿名函數(shù)赤炒, 甚至元編程等...
    LaBaby_閱讀 1,670評(píng)論 0 6
  • @轉(zhuǎn)自GitHub 介紹js的基本數(shù)據(jù)類(lèi)型氯析。Undefined、Null莺褒、Boolean掩缓、Number、Strin...
    YT_Zou閱讀 1,158評(píng)論 0 0
  • 真正開(kāi)始健身還是從今年5月份,在這之前一直想去健身旷余,每次看到健身教練绢记,勻稱(chēng)的身材,結(jié)實(shí)的肌肉總是羨慕不已正卧,也一...
    一醉方休解千愁閱讀 172評(píng)論 0 0
  • 閨蜜豆子看完上篇寫(xiě)的《她結(jié)婚了,他閃婚了》發(fā)來(lái)微信說(shuō):“大家都到了結(jié)婚的年紀(jì)窘行,到處都是曬娃曬幸福的饥追,你的呢? 我的...
    初之閱讀 275評(píng)論 2 2