js学习

DAY ONE:
*说明:*学习的网站为廖雪峰官网,这里主要记录一些小技巧技术。

  1. 比较运算符 == 与 ===
    这两种运算符,均为比较运算符
    a.第一种是==比较,先 自动转换数据类型——>后 比较。
    b.第二种是 === 比较,不会自动转换类型,如果,类型不一致,返回false;如果类型一致,在进行比较。
  2. null 和undefand:
    null:表示一个‘空’的值,与0、空字符串’ ‘不同,0是一个值,而’ '表示长度为0的字符串,null表示
  3. 变量的命名:
    可以是大小写英文数字、**$和_**的组合,且不能以数字开头,不能使js的关键字
  4. strict模式:
    在js设计之初时,并没有强制使用var申明变量。这个设计带来的后果是:如果一个变量没有通过var申明就被使用,那么该变量就自动被申明为全局变量;
    如果两个变量的命名相同,会导致两者之间互相影响,产生难以试调的结果。
    解决:ECMA在后续推出此模式,在strict模式下运行js代码,强制通过var申明变量,未使用会导致运行错误。
  5. if…else …语句:
    if…else…语句的执行特点,二选一,即在多个if…else…语句中,如果某个条件成立,则后续就不在继续判断。
    js把null、undefined、0、Nan、空字符串’ ',视为false,其他值一概视为true.
  6. 循环:
    a. for循环的三个条件都可以省略,但如果没有退出for循环的判断条件,就必须使用break语句退出循环,否则就是死循环。
			var x = 0;
			for (;;) { // 将无限循环下去
			    if (x > 100) {
			        break; // 通过if判断来退出循环
			    }
			    x ++;
			}

b. for…in…:把对象的所有属性依次循环出来:

var o = {
	name:'duus',
	age:25,
	city:'深圳',
}
for (var key in o){
	if (o.hasOwnProperty(key)) {
	console.log(key)   // 打印结果:'name','age','city'
}}

注:如需过滤掉继承的的属性,可以使用hasOwnProperty().
c. for…of…循环,与for…in…循环类似,唯一的区别是:他只循环集合本身的元素。
d. 可直接使用iterable内置的forEach方法,它接收一个函数,每次迭代就自动调回该函数。

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

你可能感兴趣的:(javaScript)