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