JavaScript语法

1、注释与分号

    (1)  单行注释使用  //

    (2)  多行注释使用  /**/

 

2、标识符的命名规则

    (1)由字母、数字、下划线或美元符号组成

    (2)不能以数字开头

    (3)不能使用关键字、保留字作为标识符

  以上几点和Java标识符是一样的

 

3、变量

    (1)变量是松散类型的  

    (2)每个变量仅仅是一个用于保存值的占位符而已

 

4、变量的声明与赋值

 (1)使用 var 进行声明,如 

var name;     //先声明等会儿再复制
name="tom"; //复制语句结束的时候需要用;结束

var age=10; //声明的同时赋值

//一次声明多个变量
var name_01="tony",age=18,address;

注意

[1] 不能以数字开头!

[2] 省略 var 声明的变量是全局变量。

 

5、数据类型

    

【JavaScript】JavaScript语法_自增

    (1) typeof 用来检测变量类型

var name="tom";
console.log(typeof name); //打印出string

var age=18;;
console.log(typeof(age)); //打印出number

//其他返回值还有boolean、object、undefined、function

注意:

    [1] undefined 值是派生自null值的,所以undefined==null的返回结果是true

 

    (2) Number表示整数或浮点数

    [1]  NaN

var age=18;
console.log(age-"abc");
//返回 Nan ,即Not a Number
//涉及到 NaN的运算都会返回NaN
//NaN与任何值都不相等,包括NaN本身

    [2] isNaN(n) 检测n是否是“非数值”,返回boolean

var age=18;
console.log(isNaN(age));
//打印出false,不是一个非数字,即是一个数字

var age_1="18";
console.log(isNaN(age));
//依然打印出false,不是一个非数字,即是一个数字
//isNaN()会先尝试将age转化为数字,若能转换,再检测是否为数值

    [3] 数值转换

【JavaScript】JavaScript语法_字符串_02

    使用Number(n)

var name="12";
name=Number(name);
console.log(typeof(name));
//打印出 number


var name_1="tom";
name_1=Number(name_1);
console.log(typeof(name_1));
//打印出NaN

    使用parseInt()

var top_value="10px";
console.log(parseInt(top_value));
//输出 10,这点和Number()有点不太一样,parseInt()能够提取数字

//但是
console.log(parseInt("px10"));
//则输出NaN,parseInt()只能提取以数字开头的字符串中的数字

使用parseFloat()

console.log(parseFloat("12.34.56px"));
//输出12.34,遇到第二个小数点则停止转换

注意 :尽量使用 parseInt() 与 parseFloat(),他们的功能更多 

    (3) string 使用双引号“abc ” 或单引号 'abc'

    [1] str.toString() 将str转换为字符串

    [2] String() 在不知道要转换的值为null或undefined的情况下,可以将任何类型的值转换为字符串

 

 

 

    (4)  布尔类型

var isChild=true;
console.log(typeof(isChild));
//输出true

console.log(String(isChild));
//输出字符串形式的true

    类型转换,使用 Boolean(n)

【JavaScript】JavaScript语法_自增_03

 

6、操作符

    (1) 几点注意

    [1] 类型会出现转换

var a=10;
var b="abc";
console.log(a-b);
//输出NaN

var c="5";
console.log(a-c); //此时进行了隐式类型转换
//输出5

    [2] 自增的返回顺序

var num=1;
console.log(++num); //输出2,先自增,再返回

console.log(num++); //依然输出2,先返回,再自增。但在下一次使用到num时,num值已经是3了

console.log(++num); //输出4

    [3] ==与===的区别

var x=10;
var y="10";
console.log(x==y); //输出true,==仅比较的是值是否相等

console.log(x===y); //输出false,===比较值是否相等并且比较类型是否相同

    [4] &&的返回值

【JavaScript】JavaScript语法_操作数_04

【JavaScript】JavaScript语法_自增_05

var str="123";
var num=12;
console.log(str&&num); //则输出num的值12

//当第一个操作数隐式转换后为true时,则返回最后一个操作数


var str_1="";
console.log(str_1&&num); //则输出str_1的值为""

//当第一个操作数隐式转换后为false时,则返回第一个操作数

    [5] || 的返回值

【JavaScript】JavaScript语法_操作数_06

【JavaScript】JavaScript语法_自增_07

具体代码实验

【JavaScript】JavaScript语法_字符串_08

    [6] !的返回值

console.log(!12);  //输出false

console.log(!"red"); //输出false

console.log(!NaN); //输出true

console.log(!null); //输出true


//看的出!会将任意类型转换为布尔类型