js的发展历史,不在赘述,毕竟资料很容易找,百度百科即可,同样也只需了解一下其历史即可,没必要背诵下来。
JavaScript是一种轻量级的编程语言,其是可以插入到HTML页面中,让所有的浏览器执行(浏览器中内核有js运行的环境)。
补充 :最常见的是五大浏览器和四大内核,其不包含任何中国浏览器,因为中国浏览器用的都是他人的内核。
对于一门语言的使用,有些肯定需要了解其一些常见的类型。
JavaScript的数据大的方面可以分两类基本类型(值类型)和引用数据类型。
- 基本类型: 字符串 , 数字,布尔,对空(null),未定义(undefined),symbol
- 引用数据类型:对象,数组,函数。
字符串
字符串是任何语言中的无法避免的一种数据类型,而JavaScript虽然名字带着java,但是字符串的定义就差很多。
JavaScript中的字符串可以用双引号或者单引号包着。
var a='dfd';
var a="ddf"
/两种声明方式都是字符串
数字
这个如果在java中可以分正数和浮点类型数据,但是在JavaScript中两者都是一样的类型。
var num1=34.00;
var num2=34;
// 可以用科学计数法
var num3=1e2; //100
var num4=le-2;//0.01
布尔
这个只有两个值那就是true和false
var x=true;
var y=false;
数组
数组对象是使用单独的变量名来存储一系列的值。这个和java不同,可以同时存储数字和字符串。
var arr=[1,'a']
或者
var arr=new Array(2);
arr[0]=1;
arr[1]='a';
或者
var arr=new Array(1,'a');
// 而且长度不只是2个。
arr[2]=123;
//arr 长度就为3了
//因为数字的下标是从0开始的,可以通过arr[下标]获得存储的值
对象
对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔
var car={
color:"red"
brand:"haval"
}
// 得到汽车的颜色
var color=car.color;或则var color=car["color"];
null和undefined
在 JavaScript 中 null表示 “什么都没有”。null是一个只有一个值的特殊类型,表示一个空对象引用。 undefined 是一个没有设置值的变量。
上面看着null和undefined似乎有区别又没有区别。
var a;
console.log(a);// 在控制台打印出a
//输出的是
undefined
这个可以看出如果声明了一个变量,但是不赋值的话其值为undefined。
下面补充一个typeof方法检测对象的类型。
typeof 操作符
typeof操作符来检测变量的数据类型。
typeof "a" // 返回 string
typeof 3 // 返回 number
typeof false // 返回 boolean
typeof [1,2,3,4] // 返回 object
typeof {color:'red', brank:"haval"} // 返回 object
// 上面任何 (typeof 数据)
typeof typeof 任何数据类型 //"string"
//typeof 任何数据类型 将数据类型转换成字符串并返回
现在看一下null和undefined:
console.log(typeof null); //输出的object类型
console.log(typeof undefined);//输出 undefined
可以看出 null 是object类型,而undefined的类型是undefined。
补充一个运算符 == 和===。
首先声明一个变量 a=1;
运算符 | 描述 | 比较 | 返回值 |
== | 等于 | x1 x’1’ x==2 | 返回的值为 true , true , false |
=== | 绝对等于(值和类型均相等) | x===“5” x===5 | 返回的值为 false, true |
可以看出会自动将值进行转换(除了数字还可以比较字符串对象等等)而=其值和类型都必须相等。
null === undefined // false
null == undefined // true
这个可以看出 两者值相等但是其类型不相等。
null表示"没有对象",即该处不应该有值。典型用法是:
(1) 作为函数的参数,表示该函数的参数不是对象。
(2) 作为对象原型链的终点。
undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。典型用法是:
(1)变量被声明了,但没有赋值时,就等于undefined。
(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。
(3)对象没有赋值的属性,该属性的值为undefined。
(4)函数没有返回值时,默认返回undefined。
在补充一点:
Number(null) //0
Number(undefined) //NaN
NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。
补充
可以提前使用关键词”new“来声明其类型
var t_String=new String;
var t_Number= new Number;
var t_Boolean= new Boolean;
var t_Array= new Array;
var t_car= new Object;