基本数据类型

1、NaN

  NaN不等于它本身

  任何数除以0返回NaN

  NaN/10返回NaN

  alert(isNaN(NaN));返回true,因为NaN本身不是一个数值,isNaN(),里面是一个参数,任何不能被转换为数值的值都会返回true。

var obj = {age:19};
    isNaN(obj);

    // 等同于

    if (typeof obj.valueOf() === 'object') {
        alert(isNaN(obj.toString()));
    } else {
        alert(isNaN(obj.valueOf()));
    }

//var obj = {};

    //当你把obj丢进isNaN(obj)时
    // 做了两件事
    // 1. 首先调用obj的valueOf()方法, 假设返回了一个 valueOfResult
    // 判断valueOfResult是否可以转换为数值, 如果不能,
    // 再 valueOfResult.toString() 看是否能转化为数值。

  

2、数值转换

有三个函数可以把非数值转换为数值:Number()、parseInt()、parseFloat()

  Number()转换空字符串返回0

3、parseInt()如果第一个字符不是数字字符或者负号,返回NaN

  parseInt()转换空字符串会返回NaN,

4、string类型

  字符串可以有双引号跟单引号表示,在ECMAScript没有区别

  字符字面量

 

  任何字符串的长度都可以通过访问其length属性取得

  5、数值,布尔值,对象和字符串值都有toString方法。但是null喝undefined值没有这个方法

  6、在不知道要转换的值是null或者undefined的情况下,可以使用转型函数String()。能够将任何类型的值转换为字符串

 

  7、object

  var o = new Object();

  8、如果不给构造函数传递参数,可以省略圆括号;但是不推荐这个方法

  var o = new Object;

  9、hasOwnProperty()。检查给定的属性在当前的对象实例中(不是在实例的原型中)是否存在。属性名必须以字符串形式指定,如o.hasPwnProperty("name");

  10、isPrototypeOf(object),检查传入的对象是否是另一个对象的原型

  11、valueOf()返回对象的字符串。数值或布尔值表示

  12、do{}while()

var i = 0;
    do{
        i += 2;

    } while(i < 10);
    alert(i); //10

  13、while语句属于前测试循环语句,在循环体内的代码被执行之前,就会对出口条件求值

var i = 0;
    while(i < 10) {
        i += 2;
    }
    alert(i);//10

  14、for语句是前测试循环语句

 

 var count = 0;
    for(var i = 10;i > count;--i) {
        alert(i);//9
    }
    alert(i);//10
--i是放在执行语句后面

  

  

   15、for-in用来美剧对象的属性

  16、break和continue

break语句会立即退出循环,强制继续执行循环后面的语句

continue语句立即退出循环,退出循环后会从循环的顶部继续执行

var num = 0;
    for(var i=1; i<10; i++) {
        if(i % 5 == 0) {
            break;
        }
        num++;
    }
    alert(num);//4

  

 var num = 0;
    for(var i=1; i<10; i++) {
        if(i % 5 == 0) {
            continue;
        }
        num++;
    }
    alert(num);//8

  17、width语句

with语句的目的是为了建华多次编写同一个对象的工作

原文地址:https://www.cnblogs.com/shenq/p/6180045.html