JavaScript_基础知识的总结_数据类型_关键字,保留字_Math对象_Js特殊的运算符_类型的转换_三元运算符_Unit_2;
说明 :对于JavaScript的基础知识有许多都是与Java相同的,在这里我们只梳理他们的不同之处,还有就是我感觉有必要复习的点;
Topic 1 :数据类型 :
JavaScript中的数据类型有 :
1 . number
这个就是数字类型
它对应的有一个NaN(not a number)
NaN的作用为:
用来表示数值的一种不正常的状态。
一般情况下会在计算出现错误的时候出现。
判断当前的数据是否是NaN的关键字:
IsNaN:是一个非数字
如果结果是非数字:结果是true
如果结果是数字:结果是false
2. string
和其他的语言都一样
3. boolean
和其他的语言都一样
4.undefined
如果一个变量声明了但是没有赋值它的结果就是undefined;(underfined在页面上是不会报错。
5. Null
6. object
对象的创建:
var a = New Object();
对象的赋值:
a.xingming = "zhangsan";//给了对象一个名称
a.chengji = 99;//给了对象一个成绩
a.xingbie = “女”
对象的使用:
alert(a.name);
注意:这个好像我们学习java的一个对象了 这里变成一个数据类型了;
7. Array
var a = new Array();//创建好了一个数组
不同点:
- js中的数组定义好了之后就是一个无穷大的容器
- 元素可以任意添加:数量不限制,数据类型不限制(弱语言)。
- 元素下标以0开始
数组的遍历方法还是一样的:
for(var i = 0 ;i < a.length ; i++){
console.log(a[i]);
}
8.Function
函数的操作就是我们平时用C语言写的功能函数一样一样的 只不过在js里面他是一个数据类型了;
总结:在js中数据类型分为两大类:
简单数据类型(基础数据类型):string,number,boolean,undefined
复杂数据类型:Null,Array,object,function
堆和栈都是电脑的内存。
简单数据类型是存储在栈中。
复杂数据类型是存储在堆中的,但是他的引用存储在栈中的。
注意: typeof(); 这个方法可以判断一个变量的类型;
Topic 2 :关键字和保留字 :
关键字:已经被javascript内部使用过的。
保留字:还没有被javascript内部使用,但是可能有一天会被使用到。(备胎)
注意 :关键字和保留字是区分大小写的 ;
Topic 3 :Math对象 :
Topic 4 :Js中一些特殊的运算符 :
1 . ==
判断的仅仅只是数据的内容,没有判断数据的类型。
var a = 3;
var b = “3”;
var c = a == b;
console.log(c);//true
2 . ===
既会关心内容也会关心类型
注意:有一个比较特殊的数字NaN,它特殊到自己都不等于(==,===)自己.
3 . !=
不关心类型,比较的是内容。如果内容一样,返回false,不一样返回true.
4 . !==
只要内容或者是类型不一样,就返回true,反之为false
Topic 5 :Js中数据类型的转换 :
one :强制转换
1 . Number(字符串/boolean);
- 如果转换的内容可以转成数字,那么就直接返回这个内容对应的数字。
- 如果不可以转换那么返回NaN.
- 如果在内容中出现小数,那么小数会保留。
- 如果内容为空,那么转换成0;
2 . paeseInt(); 和1一样都是转化为number类型 但是规则不同
a .如果转换的内容可以转成数字,那么就直接返回这个内容对应的数字。
b.如果不可以转换那么返回NaN.
c.如果带有小数,那么会去掉小数,而不是四舍五入
d.如果第一个字符是数字,则继续解析直至字符串解析完毕或者遇到一个非数字符号为止
3 . paeseFloat();
跟上面的完全一样,除了他是会保留小数的 ;
4. String();
这个是强制转化
5. toString();
这是一个包装类,这个是调用变量对象中的方法来转变的;
6. Boolean();
注意:除了false、0、” ”、NaN、Undefined在转换的时候会转成false以外,其它的都会转成true.(包括”false”).
Two :隐式转换
不通过程序员去写固定代码转,浏览器可以直接进行转换 ;
1 . 转变成number,在需要转换到内容前加+号就ok了;
2 . 转变成string, 只需要加一个“ ”,空串就ok了;
Topic 6 :三元运算符 :
这个在其他语言中也有 在这里我们强调一下;
用法都是一样的;
来一个代码示例熟悉一下 :