JavaScript学习---廖雪峰官网---1

1.学习谷歌浏览器的源码、断点等调试功能。

2.js的数据类型:

Number:

123、0.123、1.23e3、-99、NaN(表示 不是一个number。记住它与任何数都不等,包括它自己。判断isNaN())、Infinity(表示无限大)。

字符串:

布尔值:

null:

underfined:

数组:

对象:

es6新引入的数据类型:

map(引入的原因,因为js中对象的键必须是字符串,不可以是其他类型变量。):

map是一组键值对结果,具有极快的查找速度

var map = new Map([['mike',95],['lisa',100],['lilei',12],['yeye',123]]);初始化map需要一个二维数组。

set:

是一组key的集合,但不存储value,要创建一个set,需要提供一个array作为输入。或者直接创建一个空set。

var set = new Set();

var set = new Set([1,23,34]);

 

iterable:为了统一集合类型,es6引入了新的iterable类型,array、map、set都属于iterable类型,具有iterable类型的集合可以使用for......of来循环遍历。

3.采用strict严格模式。 没用var声明的变量,是全局变量。使用var声明的变量有自己的作用域。var只能声明一次。

4.字符串:

多行字符串:用反引号来表示:

`asd
dsa
dsa`

模板字符串:也用反引号来表示:`nihao ${变量}`

字符串的方法:

toUpperCase():把一个字符串全部变为大写:

var name = 'hubo';
console.log(name.toUpperCase());

toLowerCase():把一个字符串转成小写:

var name = 'HUBO';
console.log(name.toLowerCase());

indexOf():

会搜索字符串出现的位置,没有找到返回-1:

name.indexOf('u')

substring():返回指定区间的子串

5.数组

修改array.length会直接改变数组。、

数组的方法很多:

indexOf();

slice()和字符串的substring类似。返回一个数组。可以利用slice快速复制一个数组。

push()和pop();  push()向数组的末尾添加若干元素。pop()则把最后一个元素删除掉。----------------------栈

unshift()和shift():unshift往数组的头部添加若干元素。shift从头部删掉一个元素。

sort():排序

reverse():翻转数组,掉个个。

splice():修改数组

concat():把当前的数组和另一个连接起来。返回了一个新数组。

join():把元素用指定的字符串连接起来。

6.对象:

要检查某对象是否拥有某一属性:用in操作符。in判断属性时,这个属性不一定是此对象的有可能是此对象继承的。要判断一个属性是对象自己本身的而非继承得到的,可以用hasOwnProperty().

'name' in xiaoming     -> true

xiaoming.hasOwnProperty('name')   ->true

7.循环:

for循环;

for in循环:它可以把一个对象的所有属性依次循环出来。因为数组也是对象,所以也可以把数组的索引循环出来

for(var key in o){

  console.log(key)

}

具有iterable类型的集合可以使用for...of来循环遍历。  for...in   和  for ...of 的区别是什么?   for...of只循环集合本身,for...in会把不是集合本身的属性也循环出来。

更好的方式是用iterable内置的forEach()方法。它接受一个函数,每次迭代就自动回调该函数。

a.forEach(function (element, index, array) {
// element: 指向当前元素的值
// index: 指向当前索引
// array: 指向Array对象本身
console.log(element + ', index = ' + index);
});

猜你喜欢

转载自www.cnblogs.com/theLifeOfHubo/p/9763846.html