一、JS中的六種數據類型:boolean,string,number,null,undefined。javascript
二、 css
var one; var two=null; console.log(one==two,one ===two); //true,false
one==two是loose comparison,比較的是值;one===two是strict comparison,既比較值,又比較類型。即html
== equality 等同,=== identity 恆等
one的值是undefined,two的值爲null。js中undefined的值派生自null值,因此規定undefined==nulljava
三、盒子模型。詳情按F12。angularjs
四、angularjs中的自定義服務有factory,service,provider。ajax
五、JS中定義的函數會優先解析,而不是順序解析(同步模式),而且若方法同名,後者會覆蓋前者。windows
六、代碼從上往下的一次執行,這種模式稱之爲同步。一部分先執行;另外一部分在將來執行的模式稱之爲異步,如:ajax的post請求的callback回調函數。數組
七、Array數組對象:promise
將已知的arr數組複製給新數組 : var a = arr.slice(0);瀏覽器
八、
1 var obj={「key」:「1」,「value」:「2」}; 2 var newObj = obj; //至關於兩個對象指向同一個地址, //修改其中任何一個,另外一個也會受到影響
九、$(emit)是向上冒泡 ; $broadcast()是向下傳播事件
十、NOSCRIPT標籤用來定義在腳本未被執行時的替代內容
十一、
1 //已定義好一個checkState函數 2 windows.setTimeout(checkState(), 10000); //當即被調用 3 windows.setTimeout(checkState, 10000); //10s後被調用 4 windows.setTimeout(「checkState()」, 10000); //10s後被調用,帶引號的
十二、
1 console.log( 1+ "2" + "2"); //字符串相加等於字符串的合併,結果122 2 console.log( 1+ + "2" + "2"); //第一個+「2」中的加號是一元加操做符,會自動轉成數值2,結果32 3 console.log( "A"- "B" + 2);//"A"- "B"先用Number將函數轉換爲數值,結果爲NaN,在算數運算中有一個爲NaN,則結果仍爲NaN,結果NaN 4 console.log( "A"- "B" + "2"); //接上,合併後結果爲NaN2
1三、Number()函數會將對象的值轉換爲數字,null; empty ;0;默認都會轉換成0
1四、javaScript是弱類型語言,會根據後面的語言進行轉換
1 var a = 「40」, b =7; 2 console.log(a%b); //5
1五、
1 var obj = new Boolean('false'); //返回的是對象 2 var flag = Boolean(0); //返回布爾值False
1六、
1 $post(url)是ajax請求; 2 ajax的事件是:ajaxComplete(callback) ; 3 ajaxError(callback); 4 ajaxSend(callback); 5 ajaxStart(callback); 6 ajaxStop(callback); 7 ajaxSuccess(callback)
1七、
function argsAsArray(fn, arr) { return fn.apply(this,arr); } //經過argsAsArray方法調用自生的fn方法,傳入參數是arr
apply方法: apply([thisObj[,argArray]]) ---- 應用某一對象的一個方法,用另外一個對象替換當前對象。 參數是數組
說明: 若是argArray 不是一個有效的數組或者不是 arguments 對象,那麼將致使一個 TypeError。
若是沒有提供 argArray 和 thisObj 任何一個參數,那麼 Global 對象將被用做 thisObj, 而且沒法被傳遞任何參數。
call方法: call([thisObj[,arg1[, arg2[, [,.argN]]]]]) ---- 調用一個對象的一個方法,以另外一個對象替換當前對象。 參數是參數列表
例子:A.call(B[,args1[,args2...]]) 用A對象去替換B對象
說明: call 方法能夠用來代替另外一個對象調用一個方法。call 方法可將一個函數的對象上下文從初始的上下文改變爲由 thisObj 指定的新對象。
若是沒有提供 thisObj 參數,那麼 Global 對象被用做 thisObj。
借鑑他人的博客:http://uule.iteye.com/blog/1158829
1八、關於prototype原型
1 //使用構造函數法 2 function createModule(str1, str2) { 3 function Obj(){ 4 this.greeting = str1; 5 this.name = str2; 6 this.sayIt = function(){ 7 return this.greeting + ', ' + this.name; 8 }; 9 } 10 return new Obj(); 11 } 12 //構造函數與原型組合 13 function createModule(str1, str2) { 14 function CreateMod(){ 15 this.greeting = str1; 16 this.name = str2; 17 } 18 CreateMod.prototype.sayIt = function(){ 19 return this.greeting + ', ' + this.name; 20 } 21 return new CreateMod(); 22 }
1九、toString()方法將對象轉換成字符串。若是帶參數toString(n),即將其轉換成n進製表示。
20、javascript標準事件模型的執行順序:事件捕獲->事件處理->事件冒泡。先事件捕獲從windows到document往下級知道特定的事件節點,而後進行事件處理,在事件冒泡,
從特定節點往上級,完成整個過程。
2一、頁面性能指標:白屏時間---用戶從打開頁面開始到也買你開始有東西呈現爲止。
首屏時間---用戶瀏覽器首屏內全部內容都呈現出來所花費的時間。
用戶可操做時間(dom Interactive)---用戶進行正常的點擊、輸入等操做,默承認以統計dom ready時間,由於一般會在這個時候綁定用戶操做。
總下載時間---頁面全部資源加載完成並呈現出來所花費的時間,即頁面onload時間。
參照:http://www.cnblogs.com/chuaWeb/p/PerformanceMonitoring.html
2二、javascript中,變量分爲基本數據類型和引用數據類型兩種,基本數據類型用8字節內存,存儲基本數據類型(數值、布爾值、null和未定義)的值,引用類型的變量則只保存對對象、數組和函數等引用類型的值得引用(即內存地址)。javascript內部,全部數字都是以64位浮點數形式存儲的。
基本數據類型:Number、String、Boolean、Undefined、NUll
複雜數據類型:Object、Array、Function、RegExp、Date、Error
全局數據類型:Math
以上,除了NULL,其他的均可以成爲JS的內置對象。
2三、angular.js中的服務實質上是單例對象。單例模式有第三個特色:一是某個類只能有一個實例;二是它必須自行建立這個實例;三是它必須向整個系統提供這個實例。
2四、NaN,即非數值(Not a Number)是一個特殊的數值,這個數值用來表示一個原本要返回數值的操做數未返回數值的狀況(這樣就不會跑出錯誤了)。
2五、一個promise可能有三種狀態:等待(pending)、已完成(fulfiled)、已拒絕(rejected)。一個promise的狀態只能從「等待」轉向「完成」或者「拒絕」態,不能逆向轉化,同時「完成」態和「拒絕」態不能相互轉化promise實現then方法。(能夠說,then是promise的核心),並且then必須返回一個promise,同一個promise的能夠調用屢次,並且回調的執行順序和他們被定義時的順序一致then方法接受兩個參數,第一個參數是成功是的回調,在promise由「等待」狀態轉換到「完成」態是調用,另外一個是失敗時的回調,在promise由「等待」狀態轉到「拒絕」態時調用。
2六、hasOwnProperty:用來判斷一個對象是否有你給出的名稱的屬性或對象。但此方法沒法檢查該對象原型鏈中是否具備屬性值,該屬性必須是對象自己的一個成員。
isPrototypeOf用來判斷要檢查其原型鏈的對象是否存在於指定對象實例中,是則返回true,不然返回false。
2七、
1 var f = function g(){ 2 return 23; 3 }; 4 typeof g(); //結果是ReferenceError,g is not defined 5 typeof g; //結果是undefined 6 typeof f(); //結果是number 7 typeof f; //結果是function
注: typeof null 的結果是 object
2八、Jquery siblings()方法返回被選元素的全部同胞元素;
2九、回調時,被回調的函數會放在event loop裏,等待線程裏的任務執行完後才執行event loop裏面的代碼。
30、對元素的margin設置百分數,是相對於父元素width計算的。
3一、Html中的標籤分爲閉合標籤和自閉合標籤。自閉和標籤有<input/><img/><br/><link/><hr/>等。
3二、<hr/>定義水平線。
3三、Css樣式中的權值大小:第一等:內聯樣式,如:「style= 」,權值爲1000
第二等:ID選擇器,如:#content,權值爲0100
第三等:類,僞類和屬性選擇器,如:.content,權值爲0010
第四等:表明類型選擇器和僞元素選擇器,如:div p,權值爲0001
通配符、子選擇器、相鄰選擇器等,如:*、>、+,權值爲0000 ; 繼承的樣式沒有權值
3四、HTML body部分中的javascript會在頁面加載的時候被執行;head部分中的只有在被調用的時候纔會被執行。
3五、不換行必須設置word-break:break-all 處理單詞的打斷 和 word-spacing:no-wrap處理元素內的空白,只在一行內顯示。
3六、link是在加載頁面前把Css加載完畢;@import url()是在讀取文件文件後加載,因此會出現一開始沒有css樣式,閃爍一下出現樣式後的頁面(網速慢的狀況下)
3七、CSS樣式:邊距:10px 20px 30px 40px哪個是底邊距? 巧計:順時針,上右下左。
3八、parseInt方法能夠將其它進制轉換爲十進制。
3九、基本類型和封裝類型進行「==」運算符比較時,封裝型會自動拆箱爲基本型在比較。
兩個Integer類型進行「==」比較,若是其值在-128至127,那麼返回true,不然返回false。
兩個封裝型進行equals比較,會先比較類型在比較值。
1 int a=257; 2 Integer b=257; 3 Integer c=257; 4 Integer b2=257; 5 Integer c2=257; 6 System.ou.println(a==b); 7 //System.ou.println(a.equals(b)); //編譯出錯,基本類型不能調用equals 8 System.ou.println(b.equals(257.0)); 9 System.ou.println(b==c); 10 System.ou.println(b2==c2); 11 12 //上面的代碼結果依次爲true,false,false,true
40、suspend()使得線程進入阻塞狀態,而且不會自動回覆。
resume()使進程從新進入可執行狀態。(這兩個配套使用)
4一、6種基本數據類型:byte,bollean,short,char,int,long,float,double。
42、自動數據類型轉換:按照由低到高的順序轉換。優先關係以下:
byte,short,char--> int--> long --> float --> double
其中,最底層的類型不能進行運算,如有運算會自動向上轉換int型。
4三、根類Object中的方法:clone();equals();finalize();getClass();notify();notifyAll();hashCode();toString();wait()
4四、
1 1 var a=2; 2 2 var b=3; 3 3 if(a=b){... 4 4 } //在java中「=」賦值是有返回值的,賦什麼值就返回什麼值 5 //C中賦值後會與0進行比較,大於0返回true,不然false
4五、String類是不可改變的類,String str =「123」;str=「1」並非覆蓋而是新建一個內存空間指向它
4六、解決哈希衝突的兩種方法:開放地址法、鏈地址法
4七、常見的瀏覽器端存儲技術: cookie 、 sessionstorage 、localstorage
4八、在HTML body部分中的JavaScripts會在頁面加載的時候被執行。 在HTML head部分中的JavaScripts會在被調用的時候才執行
4九、javascript中在進行算術運算時,「+號」,數字隱式轉換成字符串。其他的運算符號是字符串隱式轉換成數字。
50、