console.log('hello world!');
- JavaScript并不強制要求在語句后加上
;
哈误,它會自動在每句語句末尾補上蜓肆,但是最好還是加上酌儒。
行注釋://
塊注釋:/* */
數據類型:
1.Number:
123;//整型
0.123;//浮點型
1.234e3;//科學計數法表示1.23*1000,等同于1234
-99;//負數
NaN;//Not a Number断盛,無法計算結果時用NaN表示
Infinity;//表示無限大苗沧,數值超過JavaScript的最大數值時,就顯示為Infinity
2.字符串
字符串是以單引號'或雙引號括起來的文本个曙,如'abc'
锈嫩,"abc"
輸出多行字符串,不用一直使用/n
垦搬,使用`xxx`
即可
console.log('多行
字符串
測試');
處理字符串常用方法(調用這些方法不會改變字符串本身呼寸,只是返回一個新的字符串):
var s = "hello";//定義一個小寫的hello字符串
s.toUpperCase();//將hello變?yōu)镠ELLO,但是此時s的值并沒有變猴贰,只是創(chuàng)建了一個新的字符串
console.log(s);//打印出s的值依然為hello
-
toUpperCase()
:把一個字符串全部變?yōu)榇髮?/li>
var s = 'aaa';
s.toUpperCase();//返回'AAA'
-
toLowerCase()
:把一個字符串全部變?yōu)樾?/li>
var s = 'AAA';
s.toLowerCase();//返回'aaa'
-
indexOf()
:搜索指定字符串出現的位置
var s = 'hello, world';
s.indexOf('world');//返回7
s.indexOf('aaa');//沒有找到aaa子串对雪,返回-1
-
substring()
:返回指定索引區(qū)間的子串
var s = 'hello, world';//注意:,后面有個空格
s.substring(0, 5);//從索引0開始到5(不包括5),返回'hello'
s.substring(7);//從索引7開始到結束米绕,返回'world'瑟捣,未指定結束索引就返回到字符串末尾
3.布爾值
布爾值只有true
和false
4.比較運算符
需要注意的是==
比較和===
比較
==
:會自動轉換數據類型來進行比較,會有很奇怪的結果
===
:先比較數據類型栅干,不一致的話直接返回false
迈套,數據類型一致才比較值
盡量使用===
比較
關于比較運算符一些奇怪的例子:
NaN === NaN;//false,NaN和所有值都不相等,包括它自己碱鳞,只能通過isNaN(NaN)判斷
1 / 3 === (1 - 2 / 3);//false桑李,浮點數在計算過程中會產生誤差,計算機無法精準計算無限循環(huán)小數
//如果要比較浮點數窿给,可以通過計算它們之差的絕對值和一個特定的閾值相比較
0.1 + 0.2 === 0.3//false贵白,在JavaScript中二進制的浮點數0.1和0.2并不是很精確,在計算中產生誤差
5.null和undefined
null表示值為空
undefined表示值未定義
6.對象
var person = {
name: 'lawliet',
age:22,
sex:'man'
};
person.name;//獲取person對象的name屬性
person.age;//獲取person對象的age屬性
7.變量
JavaScript中變量名士大小寫英文填大、數字戒洼、$
和_
的組合,不能用數字開頭允华,并且不能用JavaScript的關鍵字來命名圈浇,如if
、for
這種靴寂,聲明一個變量用var
語句
var a = 1;//a=1
strict模式:
如果不用var
聲明變量磷蜀,變量就會變?yōu)槿肿兞?/p>
a = 233;//a現在是全局變量
使用strict模式解決問題:
'use strict'
a = 10;//a現在不是全局變量