JavaScript基础知识(数据类型,循环判断,集合)

JavaScript中允许对任何数据进行比较,例如      

false == 0   //true
false === 0 ///false

NaN函数:

    有一个特殊的值NaN,这个特殊的number值与其他的值都不相等,包括与自身

    NaN == NaN    // false

    唯一能判断NaN的只有isNaN( )函数。

浮点数比较:

    1/3 ==(1-2/3)  // false

    浮点数在运算过程中会出现误差,因为计算机无法精确表示无限循环小数。要计算两个小数是否相等,只能计算它们之差的绝对值,是否小于某个阈值。

null、‘ ’、0及undefined:

    null为‘空’的值,‘ ’一个长度为0的字符串,0为一个数值。

数组:

    JavaScript的数组可以包含任意数据类型。[1 , 2 , 4 , 'nice' , null , true]

    另一种创建数组的方式通过Array( )实现

变量:

    在JavaScript中,同一个变量可以被反复赋值,且可以是不同类型的数据(这就是动态语言),但var声明只能有一次

    var a = 12;

    a = ‘AB’;

    console.log(x);

    要显示变量的内容,可以用console.log(x),打开浏览器控制台就可以看到结果了。使用console.log( ),而不用alert( )的好处在于可以避免烦人的提示框。

    注意: a = 1;

    当一个变量没有通过var,而直接声明的时候,它就会自动被声明为全局变量。为了修复这一缺陷,推出了strict模式,在JavaScript的第一行写上“use strict”,注意有些浏览器不支持strict模式。

字符串:

    需要注意的是,字符串是不可变的,如果对字符串的某个索引赋值,不会有任何错误,但是,也没有任何效果。

var s = 'nice'
s[0] = m
alert(s)    //s仍为nice

    字符串常用的几个方法,toUpperCase,toLowerCase,indexOf(搜索指定字符串出现的位置,没有返回-1),substring(返回指定索引区间的子串)

数组:

    JavaScript的array可以包含任意数据类型,并通过索引来访问每个元素,通过length可以获得array的长度。注意:直接给length赋值会导致数组的改变。同时给索引赋值,会导致数组的更新。如果索引超出了范围,同样会引起array的变化,中间没有被定义的会显示undefined。

    数组的常用方法,indexOf , slice(对应substring),pushpoppush用于向array末尾添加元素,pop用于删除最后一个元素。unshiftshift,unshift用于向头部添加元素,shift用于删除array的第一个元素。sort函数用于对array进行排序。reverse函数反转整个array元素顺序。splice从指定索引位置删除若干元素,再从该位置添加若干元素。concat用于连接两个array,并返回一个新的array,该方法可以接受任意个元素和array。

var arr = ['A','B']
arr.concat(1,3,[4,6])  //['A','B',1,3,4,6]

    join函数,将array中的每个元素按照指定的字符串连接起来,并返回一个字符串。如果array有元素不为字符串,将自动转换为字符串后再连接。

对象:

    JavaScript对象由一组无序的集合数据类型表示,一般都可以通过Obj.name的形式来访问属性,但当属性名中出现特殊字符串时,应当使用Obj['name']的方法访问。

 var student = {
    name: jack,
    'middle-school': 'No.1 middle school'
}

student['middle-school']     // No.1 middle school

       因此,属性名尽量使用标准的变量名,这样就可以通过Obj.prop的形式来访问。另外,当访问一个不存在属性时,不会报错,只会返回undefined。

    in方法,可以使用该方法判断对象是否拥有这一属性,但判断时也需注意,这一方法有可能是继承得到的。例如,‘toString’ in  student  // true,所有对象都有toString方法,因此可以用hasOwnProperty方法。

条件判断:

    javasJavaScript判断语句中将null,0,undefined,‘ ’及NaN,一致视为false。

循环:

    JavaScript用两种循环,for循环(初始条件,结束条件,递增条件)来执行循环语句块。for循环最常用的是利用索引来遍历数组。while循环与do...while循环。

var arr = [1,2,4,6,7,9]
var i ,x
for (i = 0,i< = arr.length,i++){
    x = arr[i];
    console.log(x);
}

    for ... in 循环,可以把一个对象的属性依次循环出来。for (var key in  Obj){...},另外一个用法就是,array对象中每个元素的索引可以被视为对象的属性,因此可以用for...in直接循环出array的索引。

arr = [1,2,3]
for(var i in arr){
    console.log(i);
    console.log(arr[i]);   // 1,2,3
}

Map与Set:

    Map的方法有get,set,has。对同一个key多次set值的时候,会更新它的value。

    JavaScript的Set很特殊,只能保存key,不能保存value,里面的key不能重复。方法为add(key),delete(key)。Set与array类似,但Set没有索引。

Iterable:

    Array,Map,Set都属于Iterable类型,由于for...in循环的缺陷性,故遍历集合最好的方法是forEach( ),使用前需要判断浏览器是否支持。forEach的回调函数会返回这些内容。当不需要返回某些参数时,也可以不写。

var map = new Map([[1,'x'],[2,'y'],[3,'z']])
map.forEach(function(value,key,map)){                //针对map的写法
    ...//value,key,map
}
map.forEach(function(element,index,array)){           //针对array的写法
    ...//element,index,array
}
map.forEach(function(element,sameElement,set)){           //针对set的写法
    ...//element,index,array
}

 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值