-
javascript中null和undefined
??javascript中存在null和undefined,null表示一個“空”的值,它和0以及空字符串''不同,0是一個數(shù)值,''表示長度為0的字符串,而null表示“空”。
??在其他語言中,也有類似JavaScript的null的表示,例如Java也用null,Swift用nil,Python用None表示。但是,在JavaScript中,還有一個和null類似的undefined,它表示“未定義”。JavaScript的設(shè)計者希望用null表示一個空的值,而undefined表示值未定義。事實證明,這并沒有什么卵用,區(qū)分兩者的意義不大。大多數(shù)情況下,我們都應(yīng)該用null。undefined僅僅在判斷函數(shù)參數(shù)是否傳遞的情況下有用。
-
javascript對象
??對象,JavaScript的對象是一組由鍵-值組成的無序集合,javascript的對象的值都是字符串類型,值可以是任意數(shù)據(jù)類型
var person = {
name: 'bob',
age: 20,
zipCode: null,
}
logging.info('person.name = ' + person.name)
-
javascript數(shù)組
let array = ['a', 1, 8, null, true, person]
//需要注意的是,不同于其它的編程語言,javascript的數(shù)組越界,并不會排除異常,而是直接返回一個undefined
logging.info('元素值:' + array[5].name)
-
Es6新增方便于顯示"多行字符串"的寫法
let str = `這是一個
多行
字符串
`
//這里的\n是javascript中的換行符
logging.info('Es6新增多行字符串的寫法:\n' + str)
-
Es6新增方便于顯示“多行字符串”的寫法
let name = '小明'
let age = 20
let msg = `你好:${name},你今年${age}歲了`
logging.info(msg)
-
javascript關(guān)于數(shù)組,可以使用indexof來搜索一個指定元素的位置:
var arr = [10, 20, '30', 'xyz'];
logging.info(arr.indexOf(10)); // 元素10的索引為0
logging.info(arr.indexOf(20)); // 元素20的索引為1
logging.info(arr.indexOf(30)); // 元素30沒有找到,返回-1
logging.info(arr.indexOf('30')); // 元素'30'的索引為2
-
javascript使用slice()方法截取array部分元素,然后返回一個新的array:
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
arr.slice(0, 3); // 從索引0開始,到索引3結(jié)束,但不包括索引3: ['A', 'B', 'C']
arr.slice(3); // 從索引3開始到結(jié)束: ['D', 'E', 'F', 'G']
//注意到slice()的起止參數(shù)包括開始索引,不包括結(jié)束索引。
//如果不給slice()傳遞任何參數(shù),它就會從頭到尾截取所有元素。利用這一點,我們可以很容易地復(fù)制一個Array:
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
//通過slice就可以很方變的copy出一份新的arr了
var aCopy = arr.slice();
logging.info(aCopy); // ['A', 'B', 'C', 'D', 'E', 'F', 'G']
aCopy === arr; // false
-
javascript的pop()和push()方法:
let numbers = [1,2]
numbers.push('A','B')
logging.info(numbers)
logging.info('rnumbers的length:' + numbers.length)//返回Array新的長度為4
numbers.pop() //彈出一個元素,同樣會改變numbers數(shù)組的長度
logging.info(numbers)
logging.info('numbers的長度:' + numbers.length)