一、,操作符
var a,b=0;,逗號操作符的左到右計算它的運算元,只返回最後乙個運算元的值;console.log(a);//undefined
console.log(b);//0
逗號表示式是連續表示式,他的結果是最後乙個值
二、parseint 傳入數字
為什麼會是如下這樣:
parseint(0.000008) // >> 0parseint(0.0000008) // >> 8
parseint(arg)
時會先呼叫arg.tostring()
。
(0.000008).tostring() // "0.000008"(0.0000008).tostring() // "8e-7"
parseint("0.000008");//0
parseint("8e-7");//8
三、立即執行表示式
(function (){} ());//括號裡面必須是表示式
(function (){} )();
[function (){} ()] // 等價於 ()
//下列符號後也必須是表示式
~function (){} ();
!function (){} ();
+function (){} ();
-function (){} ();
delete function (){} ();
typeof function (){} ();
void function(){} ();
var f=function (){} ();
1,function (){} (); //,後面必須是表示式
1 ^ function (){} ();
1 > function (){} ();
四、型別
typeof false //"boolean"五、實現浮點數轉整數,或者說取出數字的整數部分typeof .2//"number"
typeof nan //"number"
typeof '';//"string"
typeof undefined //"undefined"
typeof symbol();//"symbol"
typeof new date();//"object"
typeof //"object"
typeof alert //"function"
typeof null //"object"
function converint(num)converttoint(-math.pi); // -3
converttoint(12.921); // 12
符號右移會將左運算元轉換為32位整數
num | 0
也是可以的
六、乙個this的問題
function djw()num.prop 等同於 object(num).prop,也就是說我們新增屬性到乙個新建的物件上,與num沒任何關係。djw(); // window
djw.call(null/undefined); // number 特殊情況因為'/'
djw.call(null);//window
djw.call(undefined);//window
djw.call(1); // number
function djw()
djw(); // undefined
djw.call(null/undefined); // nan
djw.call(null);//null
djw.call(undefined);//undefined
djw.call(1); // 1
七、給基礎型別新增屬性無效
var num =0;
num.prop=1;
console.log(num.prop);
JS問題彙總
1.使用servlet生成驗證碼時,訪問 imgcode即可得到新的驗證碼,實現重新整理驗證碼時務必要使請求url鏈結有變化才可生效,如 src imgcode.do?rand math.random imgcode.do 或 imgcode.do?則無效 否則不會向伺服器重新發出請求。docume...
JS問題彙總
1.q this 在js中失效,無法獲取當前元素 a function 在被呼叫時this是指向window的,如果要想指向被點選的元素,一般是將this作為引數傳入,例如 div onclick b this input type hiddden value c div function b e ...
js運算元組彙總
shift 刪除原陣列第一項,並返回刪除元素的值 如果陣列為空則返回undefined var a 1,2,3,4,5 var b a.shift a 2,3,4,5 b 1 unshift 將引數新增到原陣列開頭,並返回陣列的長度 var a 1,2,3,4,5 var b a.unshift 2...