当前位置: 代码迷 >> 综合 >> JavaScript 笔记整理(1)——基本概念
  详细解决方案

JavaScript 笔记整理(1)——基本概念

热度:53   发布时间:2023-12-01 02:52:43.0

1、js区分大小写,命名开头首字母必须是字母、下划线(_)或美元符号($),其他字符可以是字母、下划线、美元符号或者数字。

2、定义的变量,未初始化,自动取得undefined的值

/** 定义的变量,未初始化,自动取得undefined的值*/
var message;     //这个变量声明后默认取得了undefined的值
alter(message)   //'undefined'
alter(age)       //报错

3、对未定义或者未初始化变量的变量执行typeof操作符会返回undefined的的值
     需要注意 typeof(null)的值为'object'(原因在第4条)


/** 对未定义或者未初始化变量的变量执行typeof操作符会返回undefined的的值* 需要注意 typeof(null)的值为'object'*/
var message;  
alter(typeof(message))  //'undefined'
alter(typeof(age))      //'undefined'

4、关于null,null值表示一个空对象指针,所以 typeof(null) 的值为 ‘object’ 的原因,如果定义的变量准备在将来用来保存对象,那么最好将该变量初始化为null而不是其他的值。

typeof(null) == 'object' //truevar obj = null; //obj将来是保存对象,初始化用null

5、if 语句自动执行相应的Boolean转换

/**在if语句的条件判断中,number,string,object,Boolean,Undefined都是可以的是因为if语句自动执行了 Boolean转换 Boolean();数据类型               转换为true的值                        转换为false的值Boolean                   true                                  falseString                  任何非空字符串                             0Number                  任何非零字值                             0和NaNobject                    任何对象                               nullUndefined                   n/a                                undefined */var msg = 'hello'
if(msg){alter('msg is true')
}

6、数值转换

/* * 以下三个函数可以将非数值转换为数值* Number()、parsetInt()、parseFloat()* + 号 可以让纯Number字符串转为Number  +'2' === 2*/Number('hello world')   //NaNNumber("")              //0Number("00011")         //11Number('111sss')        //NaN    Number(true)            //1Number('00011.111')     //11.111//由于Number()函数在转换字符串时候比较复杂而且不够合理
parseInt('123sss')       //123      
parseInt('sss123')       //NaN     开头是数字才行
parseInt('123sss123')    //123   
parseInt(22.5)           //22
parseInt('0xA')          //10(十六进制)//parseFloat 类似parseInt
parseFloat(22.5)         //22.5

7、isNaN()

/**isNaN() 在接收一个值后,会尝试将这个值转化为数值,比如字符串'10'或者Boolean*不能被转化的值会返回 true*/isNaN(10)         //false
isNaN('10')       //false  可以被转化成10
isNaN('hello')    //true
isNaN('10hello')  //true
isNaN(true)       //false  可以被转化成1

8、toString()  每个数值、布尔值、对象、字符串都有此方法

10.toString(10)     //报错  10.toString()”认为“.”是浮点符号,但因小数点后面的字符是非法的,所以报语法错误;
var a = 10;
a.toString()        //"10"
a.toString(2)       //"1010"  以进制输出转型函数 String()
var b = true;
var c = null;
var d;
String(b)        //"true"
String(c)        //"null"
String(d)        //"undefined"

9、左右移  <<    >>

/** 左移 << 这个操作符会将数值的所有位向左移动指定的位数,左移动会用0补充,*/
var a = 2;    //二进制编码为10
a << 5;       //64  二进制编码为100000

10、for-in 语句,用来枚举对象的属性

//可以给循环命名
out:for(var i in window){document.write(i + '</br>')//break 打断循环//break out 打断命名的循环    
}

11、switch语句在比较值时使用的是全等操作符,因此不会发生类型转换(例如,字符串 '1' 不等于数值 1)

  相关解决方案