国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JS知識—面試準備(一)

zhangrxiang / 1827人閱讀

摘要:使用結(jié)束后會重新壓扁自己,讓自己不是對象。作用用來判斷某個對象是否含有指定的自身屬性語法參數(shù)要檢測的對象要檢測的屬性名稱。但是函數(shù)作用域外部訪問不到函數(shù)內(nèi)部的變量,對象,函數(shù)。

1.JS內(nèi)置類型

分為基本數(shù)據(jù)類型和Object.
基本數(shù)據(jù)類型有:null,undefined,string,boolean,number,symbol.

    console.log(typeof null);//object
    console.log(typeof []);//object
    console.log(typeof {});//object

如果想要區(qū)分null,數(shù)組,對象,應(yīng)該怎么辦?

       console.log(Object.prototype.toString.call(null));//[object Null]
       console.log(Object.prototype.toString.call([]));//[object Array]
       console.log(Object.prototype.toString.call({}));//[object Object]

我的簡單理解:toString(數(shù)據(jù));作用:將數(shù)據(jù)轉(zhuǎn)化為字符串。

2.類型轉(zhuǎn)化

類型轉(zhuǎn)化:分為顯示類型轉(zhuǎn)化,和隱式類型轉(zhuǎn)化。

1.Number(數(shù)據(jù))

如果數(shù)據(jù)內(nèi)容式純粹的數(shù)字,才可以轉(zhuǎn)化為數(shù)字,否則式NaN。
var str2="12px";//NaN
var str2="1.2";//1.2
var str2="1.2.3";//NaN
var str2=null;//0
console.log(Number(str2));

2.NaN

NaN的數(shù)據(jù)類型書Number。注意:NaN和任何東西都不相等,包括自己。

3.isNaN(數(shù)據(jù))

會先把數(shù)據(jù)用Number轉(zhuǎn)化,轉(zhuǎn)化完了之后在判斷是不是NaN,如果是NaN則返回為true。否則返回為fasle。
console.log(isNaN(1));//false
console.log(isNaN("123"));//false
console.log(isNaN("abc"));//true

4.parseInt(數(shù)據(jù))和parseFloat(數(shù)據(jù))

parseInt(數(shù)據(jù)):把數(shù)據(jù)變成整數(shù),舍去小數(shù)點,取整數(shù)。
parseFloat(數(shù)據(jù)):把數(shù)據(jù)轉(zhuǎn)化為數(shù)字,可以是小數(shù)。
注意:這兩個方法會從左往右開始,除去空格,找到第一位非0數(shù)字,開始進行轉(zhuǎn)換,直到轉(zhuǎn)換到不是數(shù)字的那位為止,或者,轉(zhuǎn)換出合適的值為止。
    console.log( parseInt( "1" ) );//1
    console.log( parseInt( "1.9" ) );//1
    console.log( parseInt( "20px" ) );//20
    console.log( parseInt( "    25px" ) );//25
    console.log( parseInt( "    0.0026px" ) );//0

    console.log( parseFloat( "    0.0026px" ) );//0.0026

5.Stirng( )和Boolean()也可以進行顯示類型轉(zhuǎn)化,這里不綴述

條件判斷中,除了null,undefined,"",NaN,false,0都轉(zhuǎn)化為false,其余都轉(zhuǎn)化為true。

6.隱式類型轉(zhuǎn)化

只有當加法運算時,其中一方是字符串類型,就會把另一個也轉(zhuǎn)為字符串類型。其他運算只要其中一方是數(shù)字,那么另一方就轉(zhuǎn)為數(shù)字。并且加法運算會觸發(fā)三種類型轉(zhuǎn)換:將值轉(zhuǎn)換為原始值,轉(zhuǎn)換為數(shù)字,轉(zhuǎn)換為字符串。
10.拷貝式繼承
    
11.class繼承
12.函數(shù)作用域,執(zhí)行上下文,變量提升,閉包

1.作用域

JS作用域分為全局作用域和函數(shù)作用域,函數(shù)作用域可以訪問全局作用域中的變量,對象,函數(shù)等。但是函數(shù)作用域外部訪問不到函數(shù)內(nèi)部的變量,對象,函數(shù)。

但在ES6中新增了塊級作用域。let,const在塊中聲明的變量,函數(shù)等,外部都訪問不到。
    {
        var a=1;
        let b=2;
        console.log(b);//2
        {
            console.log(b);//2
        }
    }

    console.log(a);//1
    console.log(b);//報錯,b is not defined

2.執(zhí)行上下文
這里有篇非常好的js執(zhí)行上下文的文章,可以點擊鏈接查看

總結(jié):

        1. 調(diào)用函數(shù)是會為其創(chuàng)建執(zhí)行上下文,并壓入執(zhí)行環(huán)境棧的棧頂,執(zhí)行完畢彈出,執(zhí)行上下文被銷毀,隨之VO也被銷毀
        2. EC創(chuàng)建階段分創(chuàng)建階段和代碼執(zhí)行階段
        3. 創(chuàng)建階段初始變量值為undefined,執(zhí)行階段才為變量賦值
        4. 函數(shù)申明先于變量申明

3.變量提升(域解析)

關(guān)鍵:變量提升過程中函數(shù)優(yōu)先級高于變量優(yōu)先級

        function foo() {
            console.log(f1);    //f1() {}
            console.log(f2);    //undefined
            
            var f1 = "hosting";
            var f2 = function() {}
            function f1() {}
        }
        foo();

4.閉包

閉包:函數(shù) A 返回了一個函數(shù) B,并且函數(shù) B 中使用了函數(shù) A 的變量,函數(shù) B 就被稱為閉包。

   for ( var i=1; i<=5; i++) {
    setTimeout( function timer() {
        console.log( i );
    }, i*1000 );
}

首先因為 setTimeout 是個異步函數(shù),所有會先把循環(huán)全部執(zhí)行完畢,這時候 i 就是 6 了,所以會輸出一堆 6。

解決方法一:

for (var i = 1; i <= 5; i++) {
  (function(j) {
    setTimeout(function timer() {
      console.log(j);
    }, j * 1000);
  })(i);
}

解決方法二:

for ( var i=1; i<=5; i++) {
    setTimeout( function timer(j) {
        console.log( j );
    }, i*1000, i);
}

解決方法三:

for ( let i=1; i<=5; i++) {
    setTimeout( function timer() {
        console.log( i );
    }, i*1000 );
}

點擊這里,閉包進一步了解

13.深淺拷貝

1.淺拷貝

首先可以通過 Object.assign 來解決這個問題。

let a = {
    age: 1
}
let b = Object.assign({}, a)
a.age = 2
console.log(b.age) // 1

當然我們也可以通過展開運算符(…)來解決

let a = {
    age: 1
}
let b = {...a}
a.age = 2
console.log(b.age) // 1

2.深拷貝

function cloneFn( sourse ){
    var o = Object.prototype.toString.call(sourse).toLowerCase().indexOf("array")!==-1 ? [] : {};
    for( var attr in sourse ){
        if( (typeof sourse[attr] === "object") && sourse[attr] !== null ){
            o[attr] = cloneFn( sourse[attr] ) ;
        }else{
            o[attr] = sourse[attr];
        }
    }
    return o;
}

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

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/52768.html

相關(guān)文章

  • 2018.11.19秋招末第二波前端實習/校招小結(jié)

    摘要:背景個人背景就讀于東北某普通二本院校計算機軟件工程專業(yè),現(xiàn)大四,北京實習前端方向,自學(xué),技術(shù)棧時間背景大概是在月日準備好簡歷開始投遞秋招差不多已經(jīng)結(jié)束招聘崗位不多,投遞對象為大一些的互聯(lián)網(wǎng)公司事件背景第一個入職的是好未來的前端實習崗,待遇工 背景 個人背景 就讀于東北某普通二本院校計算機軟件工程專業(yè),現(xiàn)大四,北京實習 前端方向,自學(xué),vue技術(shù)棧 時間背景 大概是在11月9日準備...

    suxier 評論0 收藏0
  • 2018.11.19秋招末第二波前端實習/校招小結(jié)

    摘要:背景個人背景就讀于東北某普通二本院校計算機軟件工程專業(yè),現(xiàn)大四,北京實習前端方向,自學(xué),技術(shù)棧時間背景大概是在月日準備好簡歷開始投遞秋招差不多已經(jīng)結(jié)束招聘崗位不多,投遞對象為大一些的互聯(lián)網(wǎng)公司事件背景第一個入職的是好未來的前端實習崗,待遇工 背景 個人背景 就讀于東北某普通二本院校計算機軟件工程專業(yè),現(xiàn)大四,北京實習 前端方向,自學(xué),vue技術(shù)棧 時間背景 大概是在11月9日準備...

    canger 評論0 收藏0
  • 前端開發(fā)應(yīng)屆生面試指南(含各大公司具體指南及面試真題)

    摘要:先介紹一下本人應(yīng)屆前端開發(fā)一枚,非科班出身,專業(yè)是化學(xué),大學(xué)期間開始自學(xué)前端開發(fā),在今年春招實習和秋招的時候投了一些公司,拿到一些京東拼多多虎牙等,總體來說還算滿意,特地寫一篇文章來總結(jié)一下面試的那些套路。 showImg(https://segmentfault.com/img/remote/1460000011897700); 先介紹一下本人應(yīng)屆前端開發(fā)一枚,非科班出身,專業(yè)是化學(xué)...

    sunnyxd 評論0 收藏0
  • 前端開發(fā)應(yīng)屆生面試指南(含各大公司具體指南及面試真題)

    摘要:先介紹一下本人應(yīng)屆前端開發(fā)一枚,非科班出身,專業(yè)是化學(xué),大學(xué)期間開始自學(xué)前端開發(fā),在今年春招實習和秋招的時候投了一些公司,拿到一些京東拼多多虎牙等,總體來說還算滿意,特地寫一篇文章來總結(jié)一下面試的那些套路。 showImg(https://segmentfault.com/img/remote/1460000011897700); 先介紹一下本人應(yīng)屆前端開發(fā)一枚,非科班出身,專業(yè)是化學(xué)...

    jeyhan 評論0 收藏0
  • 前端開發(fā)應(yīng)屆生面試指南(含各大公司具體指南及面試真題)

    摘要:先介紹一下本人應(yīng)屆前端開發(fā)一枚,非科班出身,專業(yè)是化學(xué),大學(xué)期間開始自學(xué)前端開發(fā),在今年春招實習和秋招的時候投了一些公司,拿到一些京東拼多多虎牙等,總體來說還算滿意,特地寫一篇文章來總結(jié)一下面試的那些套路。 showImg(https://segmentfault.com/img/remote/1460000011897700); 先介紹一下本人應(yīng)屆前端開發(fā)一枚,非科班出身,專業(yè)是化學(xué)...

    lentoo 評論0 收藏0
  • 前端最強面經(jīng)匯總

    摘要:獲取的對象范圍方法獲取的是最終應(yīng)用在元素上的所有屬性對象即使沒有代碼,也會把默認的祖宗八代都顯示出來而只能獲取元素屬性中的樣式。因此對于一個光禿禿的元素,方法返回對象中屬性值如果有就是據(jù)我測試不同環(huán)境結(jié)果可能有差異而就是。 花了很長時間整理的前端面試資源,喜歡請大家不要吝嗇star~ 別只收藏,點個贊,點個star再走哈~ 持續(xù)更新中……,可以關(guān)注下github 項目地址 https:...

    wangjuntytl 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<