<script>html
alert(123);python
</script>函數
<script src='custom.js'></script>性能
a、變量區分大小寫;spa
b、JavaScript中變量是弱類型,即無需聲明變量的具體類型,好比int、string等。指針
c、變量定義code
d、變量命名,首字符只能是字母,下劃線,$美圓符 三選一htm
e、變量命名規則對象
Camel 標記法
首字母是小寫的,接下來的字母都以大寫字符開頭。例如:
var myTestValue = 0, mySecondValue = "hi";
Pascal 標記法
首字母是大寫的,接下來的字母都以大寫字符開頭。例如:
Var MyTestValue = 0, MySecondValue = "hi";
匈牙利類型標記法
在以 Pascal 標記法命名的變量前附加一個小寫字母(或小寫字母序列),說明該變量的類型。例如,i 表示整數,s 表示字符串,以下所示「
Var iMyTestValue = 0, sMySecondValue = "hi";
ECMA-262 描述了一組具備特定用途的關鍵字。這些關鍵字可用於表示控制語句的開始或結束,或者用於執行特定操做等。按照規則,關鍵字也是語言保留的,不能用做標識符。如下就是ECMAScript的所有關鍵字(帶*號上標的是第5 版新增的關鍵字):blog
ECMA-262 還描述了另一組不能用做標識符的保留字。儘管保留字在這門語言中尚未任何特定的用途。但它們有可能在未來被用做關鍵字。如下是ECMA-262 第3 版定義的所有保留字:
在嚴格模式下,第5 版還對如下保留字施加了限制:
在 ECMAScript 中,變量能夠存在兩種類型的值,即原始值和引用值。相似python裏面的傳值和傳引用。一個是內存地址、一個是索引地址或指針。
原始值
存儲在棧(stack)中的簡單數據段,也就是說,它們的值直接存儲在變量訪問的位置。
引用值
存儲在堆(heap)中的對象,也就是說,存儲在變量處的值是一個指針(point),指向存儲對象的內存處。
若是一個值是引用類型的,那麼它的存儲空間將從堆中分配。因爲引用值的大小會改變,因此不能把它放在棧中,不然會下降變量查尋的速度。相反,放在變量的棧空間中的值是該對象存儲在堆中的地址。地址的大小是固定的,因此把它存儲在棧中對變量性能無任何負面影響。以下圖所示:
ECMAScript 有 5 種原始類型(primitive type),即 Undefined、Null、Boolean、Number 和 String。
a、Undefined:未定義的。類型是Undefined,值是undefined。
b、Null:空。類型是Null,值是null。值 undefined 其實是從值 null 派生來的,所以 ECMAScript 把它們定義爲相等的。
c、Boolean 布爾類型
d、Number類型
e、String 字符串類型
一、由Unicode字符、數字、標點符號組成的序列
二、字符串由單引號或雙引號括起
三、字符串中部分特殊字符必須加上轉義線\。經常使用的轉義字符 \n:換行 \':單引號 \":雙引號 \\:右劃線
JavaScript是鬆散類型的語言。當變量被賦值時才肯定數據類型,這一點和python同樣。可是比python更鬆散。
好比:
var a=123;
var b='123';
a+b 的結果爲'123123'
typeof(123); #number
引用類型一般叫作類(class),也就是說,遇到引用值,所處理的就是對象。相似python中的type類。其實他自己就是一個類。
var o = new Object(); #typeof(o) object
var oBooleanObject = new Boolean(true);
var oNumberObject = new Number(68);
var oStringObject = new String("hello world");