- == ===
JavaScript中三個等號和兩個等號的區(qū)別(== 和 ===)
== equality 等同斑胜,=== identity 恒等。
==掺炭, 兩邊值類型不同的時候凭戴,要先進行類型轉(zhuǎn)換,再比較么夫。
===,不做類型轉(zhuǎn)換涉枫,類型不同的一定不等腐螟。
下面分別說明:
先說 ===,這個比較簡單遭垛。下面的規(guī)則用來判斷兩個值是否===相等:
1、如果類型不同泵督,就[不相等]
2庶喜、如果兩個都是數(shù)值救鲤,并且是同一個值秩冈,那么[相等];(入问!例外)的是,如果其中至少一個是NaN楣黍,那么[不相等]棱烂。(判斷一個值是否是NaN,只能用isNaN()來判斷)
3颊糜、如果兩個都是字符串,每個位置的字符都一樣业筏,那么[相等]鸟赫;否則[不相等]。
4、如果兩個值都是true庆杜,或者都是false昧狮,那么[相等]。
5、如果兩個值都引用同一個對象或函數(shù),那么[相等]诉位;否則[不相等]。
6叁丧、如果兩個值都是null,或者都是undefined拥娄,那么[相等]。
再說 ==牡昆,根據(jù)以下規(guī)則:
1摊欠、如果兩個值類型相同,進行 === 比較些椒。
2、如果兩個值類型不同,他們可能相等痒给。根據(jù)下面規(guī)則進行類型轉(zhuǎn)換再比較:
a、如果一個是null尼斧、一個是undefined试吁,那么[相等]。
b烛恤、如果一個是字符串余耽,一個是數(shù)值缚柏,把字符串轉(zhuǎn)換成數(shù)值再進行比較碟贾。
c、如果任一值是 true杀餐,把它轉(zhuǎn)換成 1 再比較朱巨;如果任一值是 false,把它轉(zhuǎn)換成 0 再比較。
d搀暑、如果一個是對象跨琳,另一個是數(shù)值或字符串,把對象轉(zhuǎn)換成基礎(chǔ)類型的值再比較桂敛。對象轉(zhuǎn)換成基礎(chǔ)類型溅潜,利用它的toString或者valueOf方法。 js核心內(nèi)置類滚澜,會嘗試valueOf先于toString;例外的是Date借浊,Date利用的是toString轉(zhuǎn)換萝招。非js核心的對象,令說(比較麻 煩槐沼,我也不大懂)
e、任何其他組合纽窟,都[不相等]兼吓。
舉例:
"1" == true
類型不等,true會先轉(zhuǎn)換成數(shù)值 1周蹭,現(xiàn)在變成 "1" == 1凶朗,再把"1"轉(zhuǎn)換成 1瓷胧,比較 1 == 1棚愤, 相等杂数。
= 賦值運算符
== 等于=== 嚴格等于
===用來進行嚴格的比較判斷
jquery插件的寫法
(function($){
var a={};
var b=$.fn.bootstrapTable.Constructor,
$.fn.***=function(){};
})(jQuery);
fn相當于原型prototype ,在原型基礎(chǔ)上添加對象和方法揍移,可以讓all實例都共享這個插件反肋。跨域
JSONP
就是使用script標簽的src去跨域
請求網(wǎng)站: 寫請求網(wǎng)站地址++++callback函數(shù)
響應(yīng)的網(wǎng)站:寫同名classback函數(shù)(應(yīng)該是返回json數(shù)據(jù)?石蔗?养距?)
ajax(jquery)
自己封裝了jsonp,so只要加上 jsonp:'callback',就能跨域不報錯
缺陷: get 請求
- post 大量數(shù)據(jù) 一般去送數(shù)據(jù) 安全(在http的請求內(nèi)容倆面)
get 有數(shù)據(jù)大小限制 url傳遞數(shù)據(jù) 一般去拉取數(shù)據(jù)(在http的狀態(tài)行)
end