javascript基础整理(二)
js和java语法看起来相似,但是却是两种不同的语言,所以千万不要搞混
变量声明了解一下
var 变量名 = 变量值 //var代表所有的数据类型,没有java中的整型int和float之分
变量名:只能以字母、数字、下划线、美元符号组成,不能以数字开头,不能是js中的关键字和保留字
可以来看一个题目,如下
关于变量的命名规则,下列说法正确的是(多选)。(ABCD)
A)首字符必须是大写,小写的字母,下划线(_)或美元符($)。
B)后续的字符可以是字母,数字,下划线或美元符。
C)变量名称不能是保留字。
D)长度是任意。
E)不区分大小写
变量名区分大小写哦!var a 和 var A就是两个变量
数据类型
- 原始数据类型:boolean(布尔) string(字符串) number(数字) null(空) undefined
变量声明后,但是没有赋值,那么这个变量的值就是undefined
- 引用数据类型 :object(对象)
方法
typeof()是一个检测数据类型的方法,并且返回数据类型 返回数据类型为六种:string boolean number undefined object function
检测数据类型的一个坑:
var f = null;
typeof(f) //输出为object(输出不是原始数据类型)
isNaN()判断是否是数字,是数字为false,不是数字为true
var a = '123'; console.log(isNaN(a)) //输出为true 不是数字
eval()计算字符串中的运算
var a = 10; var b = '4'; console.log(eval(a+b)) //输出为14
数据类型转换:
var a = 10; var b = 4; var c = '10'; var d = true; var e = false; var f = null; var g; var h = NaN; console.log("a + b的值为:" + (a + b)); //值为14 console.log("a + c的值为:" + (a + c)); //值为1010 //任何东西跟字符串相加一定得到字符串 console.log("a + d的值为:" + (a + d)); //值为11 //在进行数学运算的时候true转换成1,false转换成0 console.log("a + e的值为:" + (a + e)); //值为10 console.log("c + d的值为:" + (c + d)); //值为10true //任何东西跟字符串相加一定得到字符串,就是字符串的拼接过程,没有运算过程 console.log("a + g的值为:" + (a + g)); //NaN // NaN not a number 能加尽量给你加,加不了就为NaN console.log(typeof(h)); //number //NaN是number类型的
任何东西和NaN相加都为NaN(自己和自己相加也一样)
任何东西跟字符串相加一定得到字符串
console.log("a - b的值为:" + (a - b)); //6 console.log("a - c的值为:" + (a - c)); //0 // 数学运算除加法以外,能转换成数字就转换成数字进行运算 console.log("c - b的值为:" + (c - b)); //6 console.log("c - d的值为:" + (c - d)); //9 console.log("c - h的值为:" + (c - h)); //NaN //NaN 能减就尽量减 不能就为NaN