變數是沒有型別的,只有值才有型別
var a = ;
a["2"] = 4;
console.log('a.length',a.length) // 3
如果採用鍵值賦值的方式,並不是按照順序的儲存
var a = ;
a["test"] = 4;
console.log("a["test"]", a["test"])
console.log('a.length', a.length)
// a["test"] 4
// a.length 0 ????為什麼是這麼個結果
簡單的字串反轉[不包括unicode,星號,多位元組字元]
var a = "test";
var c = a.split("").reverse().join("");
void 沒有返回值,因此返回結果是undefined(可以不讓表示式返回任何結果)
nan(not a number)是乙個「警戒值」(sentinel value)仍然是數字型別,但是它和自身不相等,是唯一乙個非自反的值
引用
var a = 2;
var b = a; // b是a的乙個副本
b++;
a; // 2
b; // 3
var c = [1,2,3];
var d = c; // d是c的乙個引用
d.push(4);
console.log("c",c,"d",d); //c [ 1, 2, 3, 4 ] d [ 1, 2, 3, 4 ]
function foo(x)
var a = [1,2,3];
foo(a);
console.log('a',a)
// x [ 1, 2, 3, 4 ]
// x [ 4, 5, 6, 7 ]
// a [ 1, 2, 3, 4 ]
function foo(x)
var a = [1,2,3];
foo(a);
console.log('a',a)
// x [ 1, 2, 3, 4 ]
// x [ 4, 5, 6, 7 ]
// a [ 4, 5, 6, 7 ]
原生函式可以被當作建構函式使用(建立出封裝了基本型別值的封裝物件)
瀏覽器已經為.length這樣的常見情況做了效能優化,直接使用封裝物件反而會降低執行效率
如果想得到封裝物件中的基本型別值,可以使用valueof()函式
var a = new string("abc");
a.valueof(); // "abc"
regexp
date()和errof()
symbol()
標籤語句
foo:for(var i =0; i<4; i++)
if((j*i)%2 == 1)
console.log(i,j)
}
}
//1 0
2 02 1
3 03 2
```
自動分號
提前使用變數
try throw ,finally ,catch
非同步是現在和將來事件之間的間隙,並行意味著可以同時發生
學習學習再學習
如果乙個技能足夠複雜 比如從零學程式設計 那就不要指望讀完一本書就可以打天下。多買幾本書同類的書 因為每個作者的出發點是不一樣的,哪怕對同乙個概念都有不同的解釋說明。理解知識的重要過程之一就如牛的反芻一樣,要嚼一遍 嚥下去 再吐出來 再嚼一遍 再嚥下去 所以,既然一本書可以讀幾遍,那麼同一話題多應該...
學習 學習 再學習
原本要使用vs2005開發乙個b s專案的,沒有想到只能先暫時停停了,居然跟不上技術的發展了,呵呵,一直使用delphi delphi也沒能跟上 沒有想到轉到vs2005上竟然有這麼多要學的東西,當然目的是了做乙個好的系統。最近一直在學習asp.net ajax,雖然專案停了,但是我覺得值得,有很多...
只是學習 學習 再學習
通過做 讓我學會了很多東西 什麼 flash div css html js as 雖然都只是皮毛 不過 算是了解那麼一點點吧 哈哈 我還突然發現 我的 數學和英語 進步了不少 而且還都是很實用的 比在學校的進步可快多了 那句話說的很不錯 在你了解了一些皮毛之後你會發現很多東西你都必須去學。因為少一...