javascript相关知识

定义:
1.使用var关键字定义
2.其他跟Java类似

变量类型
1.全局变量 在js中没有定义在方法内部的变量
(在非严格模式下)在js的方法中,不添加var的变量也是全局变量
“user strict”严格模式
2.局部变量 在js中定义在方法内部的变量

变量的命名规则
1.和java一样

数据类型 使用typeof加变量名可以查看变量的类型

1.undefined类型 定义的变量如果没有被赋值过,则变量类型为undefined
2.null类型 定义变量赋值为null 则变量类型就是null类型,null类型是一种
特殊的object类型
3.boolean 定义变量赋值为true false 则变量类型就为Boolean类型
4.string 定义变量赋值为“”或 ' ' 则变量类型为字符串类型在js中单引号双引号都
表示字符串
5.number 数值型 定义变量时赋值为一个数字或某些情况下转换而来的数字
都是数值型
1.整数型 2.浮点型 3.NaN 4.Infinity/-Infinity
6.object 对象类型

手动数据类型的转换
1.String();
2.Number();
如果是字符串,遵循以下规则
如果字符串中只包含数字,则将其转换为十进制(忽略前导0)
如果字符串中包含有效的浮点格式,将其转换为浮点数值(忽略前导0)
如果是空字符串,将其转换为0
如果字符串包含非以上格式,则将其转换为NaN,比如‘absd12sda12131asd’
3.Boolean(); 空字符串 0 nan undefined null 转化为布尔值都为false,其余皆为true55

两个数据类型通过 == 比较时(左右两边数据类型不相同)
1.当number string Boolean 三者在相互比较时 不为number那一方 调用number()方法
2.null 和 undefined 互相相等 且和自己也相等 除此之外 这两者和其他任何数据都不相等
3.NaN相比较 跟任何比较堵不相等 NaN和自身都不相等
4.当number string boolean 三者和对象比较时 对象先调用toString()方法转换为字符串
5.对象前加!则强制得到false数据

== 等于符 可能会发生数据类型的自动转换
=== 等同符 不会发生数据类型的自动转换

原文地址:https://www.cnblogs.com/hq1997/p/10860205.html