摘要:是一個表示無的原始值,類型轉(zhuǎn)換時轉(zhuǎn)為。和的作用作用是檢測變量的數(shù)據(jù)類型。數(shù)值字符串布爾值分別返回,函數(shù)返回,返回,返回兼容以前的代碼,歷史問題定義為對象類型,返回除此之外的其他情況全都返回。
CSS和JS在網(wǎng)頁中的放置順序
盡量將CSS link標簽放在html文檔靠前位置。JS代碼放在html文檔底部,body結(jié)束標簽前
白屏和FOUC如果將CSS樣式放在html最后面時,根據(jù)瀏覽器渲染機制不同可能會出現(xiàn)白屏、無樣式內(nèi)容閃爍FOUC的情況。白屏是瀏覽器等待DOM和CSSOM全加載完成后再渲染的時間延遲產(chǎn)生(IE有這種情況),import導(dǎo)入CSS樣式,即便放在首部區(qū)域,也會有白屏現(xiàn)象。無樣式閃爍(IE、firefox都有)是瀏覽器邊加載邊執(zhí)行,逐步加載無樣式的內(nèi)容,等CSS加載后頁面突然展現(xiàn)樣式。
JS代碼放在HTML文檔底部的原因是:腳本加載需要時間,會阻塞后面內(nèi)容的展現(xiàn);頁面某些功能依賴js,如果JS放最前面,先加載js,頁面上某些功能區(qū)的樣式可能還沒渲染時JS就執(zhí)行了。
js禁止并發(fā)加載,因為有先后關(guān)系所以只能順序加載,CSS樣式可并發(fā)加載。
同步就是順序執(zhí)行,執(zhí)行完一個再執(zhí)行下一個,需要等待、協(xié)調(diào)運行。異步就是彼此獨立,在等待某事件的過程中繼續(xù)做自己的事,不需要等待這一事件完成后再工作。
JS文件異步加載有async和defer兩種方式
沒有defer或async js代碼立即加載并執(zhí)行,后續(xù)渲染元素等待。
js加載并執(zhí)行與渲染后續(xù)文檔并發(fā)執(zhí)行(異步)。是無順序的。
js加載暫不執(zhí)行,加載過程與渲染后續(xù)文檔并發(fā)執(zhí)行(異步),但js執(zhí)行需要在所有元素解析完成后進行。有順序的。
解析HTML構(gòu)建DOM樹,解析CSS構(gòu)建CSSOM樹,把DOM、CSSOM組合成渲染樹(render tree),在渲染樹基礎(chǔ)上計算幾何結(jié)構(gòu),繪制到屏幕。
JavaScript 數(shù)據(jù)類型JS中有6種數(shù)據(jù)類型:null,undefined,number,string,boolean,object。
復(fù)雜類型是指object(廣義對象obj,arr,regx等),可由多個簡單類型的值的合成,可以看作是一個存放各種值的容器。
簡單類型指number,string,boolean
特殊類型指null,undefined
NaN not a number,非數(shù)字,NaN和任何值都不等,包括NaN自己。NaN = = NaN //false;判斷一個值是否是NaN,使用isNaN()
null是一個表示"無"的對象,類型轉(zhuǎn)換是轉(zhuǎn)為數(shù)值0。空指針,不存在任何東西。只有一個值:null.表示此處有值但為空。
undefined是一個表示"無"的原始值,類型轉(zhuǎn)換時轉(zhuǎn)為NaN。變量被聲明但沒初始化,有指針但沒指向任何空間。只有一個值:undefined,表示未定義。
null是對象類型(歷史原因定義為對象類型,本質(zhì)上屬于undefined),NaN 是數(shù)值類型。
typeof作用是檢測變量的數(shù)據(jù)類型。數(shù)值、字符串、布爾值分別返回number、string、boolean,函數(shù)返回function,undefined返回undefined,null返回object(兼容以前的代碼,歷史問題定義為對象類型),NaN返回number,除此之外的其他情況全都返回object。
typeof可以用來檢測一個沒有聲明的變量,而不報錯,非嚴格模式中,可對undefined賦值
instanceof運算符返回一個布爾值,表示指定對象是否為某個構(gòu)造函數(shù)的實例
type of代碼示例:
function isNumber(el){ if (typeof(el)==="number"){ return true; } else{ return false; } }; function isString(el){ if (typeof(el)==="string"){ return true; } else{ return false; } }; function isBoolean(el){ if(typeof(el)==="boolean"){ return true; } else { return false; } } function isFunction(el){ if(typeof(el)==="function"){ return true; } else{ return false; } } undefined var a = 2, b = "jirengu", c = false; alert( isNumber(a) ); alert( isString(a) ); alert( isString(b) ); alert( isBoolean(c) ); alert( isFunction(a)); alert( isFunction( isNumber ) );+運算符
console.log(1+1); //2 數(shù)值直接相加 console.log("2"+"4"); //"24" +會將兩個字符串拼接 console.log(2+"4"); //"24" 一個數(shù)值一個字符串也會被拼接 console.log(+new Date()); //1473494481714,日期對象是特例,有2個操作數(shù)時優(yōu)先調(diào)用toString()方法,一個+號返回毫秒數(shù) console.log(+"4"); //4 一個字符串時會轉(zhuǎn)換成數(shù)值a++,++a
a++是先引用a在自增,++a是先自增再引用a
var a = 1; a+++a; //結(jié)果為3即(a++)+a typeof a+2; //結(jié)果為 "number2" typeof a的結(jié)果是"number" "number"+2 即為"number2"
typeof運算優(yōu)先級最高,逗號運算符優(yōu)先級最低
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/107834.html
摘要:介紹編程數(shù)據(jù)結(jié)構(gòu),算法,內(nèi)存分配表單驗證需要一門語言可以直接運行在瀏覽器中,來完成表單驗證的功能。 Javascript介紹編程(數(shù)據(jù)結(jié)構(gòu),算法,內(nèi)存分配)表單驗證 需要一門語言可以直接運行在瀏覽器中,來完成表單驗證的功能。 瀏覽器廠商 網(wǎng)景 firefox js 標準 js解釋器 IE js js解釋器 google js j...
摘要:語法常量名值常量名在程序中,通常采用大寫形式。結(jié)果為類型作用表示使用的數(shù)據(jù)不存在類型只有一個值即當聲明的變量未賦值未初始化時,該變量的默認值就是類型用于表示不存在的對象。結(jié)果為按位或,對小數(shù)取整將任意小數(shù)與做按位或,結(jié)果則取整數(shù)部分。 前端知識點總結(jié)——JS基礎(chǔ) 1.javascript概述(了解) 1.什么是javascript javascript簡稱為js,是一種運行于js解釋器...
摘要:數(shù)據(jù)結(jié)構(gòu)類型擴展相對之類的強類型語言,有一點很大的區(qū)別就是,數(shù)據(jù)結(jié)構(gòu)只有與,并且都是動態(tài)可變的,而有等數(shù)據(jù)結(jié)構(gòu)。所以,為了能在中也使用這些數(shù)據(jù)結(jié)構(gòu),就應(yīng)運而生。擴充了中的不可變集合,即一旦創(chuàng)建就不能改變的數(shù)據(jù)類型。 js 數(shù)據(jù)結(jié)構(gòu)類型擴展:immutable-js 相對 java、.net 之類的強類型語言,js 有一點很大的區(qū)別就是,數(shù)據(jù)結(jié)構(gòu)只有 array 與 object,并且都...
摘要:擴展靜態(tài)類型檢查語言與系列等語言有一點很大的不同,就是語言是弱類型語言。但其實很多開發(fā)人員還是比較喜歡用來開發(fā)項目,所以開發(fā)出來幫助語言擴展靜態(tài)類型檢查功能,規(guī)避上面提到的問題。 js 擴展:靜態(tài)類型檢查(facebook flow) js 語言與 java、C 系列等語言有一點很大的不同,就是 js 語言是弱類型語言。js 語言的這個特性可能讓大家覺得 js 很自由,沒有強制性的約束...
摘要:的輸出方式瀏覽器彈出警告彈框,它會阻塞代碼執(zhí)行彈框,它顯示的內(nèi)容會默認轉(zhuǎn)換成字符串顯示例如彈出一個可輸入的彈框,還有兩個按鈕確認和取消點擊確定,返回在輸入框輸入的內(nèi)容,點擊取消返回空確認彈框有兩個按鈕,確認和取消,點擊確認返回為點擊取消為, js的輸出方式: 1、alert();瀏覽器彈出警告彈框,它會阻塞代碼執(zhí)行;alert彈框,它顯示的內(nèi)容會默認轉(zhuǎn)換成字符串顯示; 例如:alert...
摘要:簡介俗稱,的正式名稱是,是網(wǎng)景公司公司開發(fā)的一種基于客戶端瀏覽器基于面向?qū)ο笫录?qū)動式的網(wǎng)頁腳本語言。變量名不能使用關(guān)鍵字變量名對大小寫敏感。 javascript簡介 javascript俗稱js,js的正式名稱是ECMAScript,是網(wǎng)景公司Netscape公司開發(fā)的一種基于客戶端瀏覽器、基于面向?qū)ο蟆⑹录?qū)動式的網(wǎng)頁腳本語言。主要用于:交互式操作,表單驗證,網(wǎng)頁特效,web游...
閱讀 2570·2021-11-22 12:05
閱讀 3456·2021-10-14 09:42
閱讀 1688·2021-07-28 00:15
閱讀 1991·2019-08-30 11:08
閱讀 1488·2019-08-29 17:31
閱讀 933·2019-08-29 16:42
閱讀 2342·2019-08-26 11:55
閱讀 2122·2019-08-26 11:49