javascript——基本概念

1、javascript区分大小写,标识符,注释等等不在说明。

数据类型

javascript中有5种简单的数据类型,也称为基本数据类型:Undefined、Null、Boolean、Number、String,还有一种复杂的数据类型,Object。

typeof用于检测给定变量的数据类型,是一个操作符不是函数。虽然函数在ECMAScript中是对象,不是一种数据类型,然而函数确实有一些特殊的属性,因此通过typeof操作符来区分函数和其他对象是有必要的。所以typeof操作一个函数返回 ‘function’。

对于未初始化和未声明的变量执行typeof操作符都返回了undefined值。因为两种变量都不可能执行真正的操作。

null值表示一个空指针,所以typeof检测返回‘object’,变量保存对象,最好显示声明为null。undefined值派生自null。


任何数据类型都可以转化为true或者false。Boolean()函数,最简洁的方法 !! 。以下值转换为布尔类型值为false:false、空字符串、0和NaN、null、undefined


ECMASctipt 会将那些小数点后面带有 6 个零以上的浮点数值转换为以 e 表示法
表示的数值(例如,0.0000003 会被转换成 3e-7)

因此永远不要测试某个特定的浮点数值
任何数除以0在其他语言都会抛错,但是JavaScript语言解决了此问题,采用NaN
表示不是一个数值。
虽然说是任何一个数除以0都返回NaN
但是事实上,只有0除以0才会返回NaN

正数除以0返回

表示正无穷
负数除以0返回

表示负无穷

1.typeof
2.Boolean()转型函数,转为true或者false
3.isNaN() 判断是不是‘不是数值’ 不是数值返回true是数值返回false
4.Number() parseInt() parseFloat() 数值转换 +最快换为数值。和Number()函数一样。取整 () | 0 或者 ~~()

String

1、使用length的时候注意双字节

2、其它数据转化为字符 toString() 。 String()方法只是方便null和undefined没有这个toString()方法,返回本身的字符串。其它数据类型还是调用toString()

Object
对象就是数据和功能的集合在ECMAScript中
Object的每个实例都具有以下方法:
1.constructor
2.hasOwnProperty() 参数名必须是字符串 比如有一个name属性 那这里面就是'name'
3.isPrototypeOf()
4.propertyIsEnumerable()
5.toLocalString()
6.toString()
7.valueOf()

操作符


布尔操作符
逻辑与 &&
两个数,其中有一个不是布尔值的情况下,逻辑与操作就不一定返回布尔值。
只要有假,整个结果就为假,所以当检查到第一个操作数为false的时候,就不会对第二个数检查了。
逻辑与操作符属于短路操作,如果第一个数能够决定结果,就不会再对第二个操作符求值。

逻辑或 ||
也是短路操作,也就是当判断了第一个数为true的时候,就不会对第二个操作数求值了。

乘性操作符
求模也就是求余数 xx%xx 26%5 //等于1

3/2 这里面 3是被除数 2是除数 商为1 余数为1
加性操作符
关系操作符

相等操作符

相等:==
不相等:!=
全等:===
不全等:!==
全等和相等的区别就是全等在比较操作数的时候不对操作数进行转换。

不全等是在两个操作数未经转换就不相等的情况下返回true

null == undefined //true 但是 null === undefined //false
条件操作符
variable = boolean_expression ? true_value: false_value
举例:
var max = (num1 > num2) ? num1: num2
赋值操作符
复合赋值操作符 += 、/=
逗号操作符
一对花括号表示代码块,虽然在if语句中,一行代码可以不适用代码块(花括号)但是业界还是普遍推崇始终使用代码块

函数

参数,在函数内部用arguments对象来访问。
命名的参数只是提供便利,并不是必须的。

参数签名的值和对应的在arguments里面的值始终保持一致。 内存空间是独立的,但是值是保持一致的。

当传入的参数只有一个,这时候arguments[1]的变化就不会反映在num2上
这时候num2的值为undefined
函数不需要指定返回值,因为任何的ECMAScript函数都可以在任何时候返回任何值。
实际上,未指定返回值的函数返回的就是一个特殊的undefined值(上面的截图已经表明)

其它知识点:

1.支持严格模式的IE10+
2.虽然语句结尾的分号不是必须的,但是还是不要省略的好。
3.在控制语句中使用代码块(就是花括号),即使只有一条语句。
4.声明和初始化含义。声明是用比如var声明,但是没有赋值就是没有初始化,未经初始化的值默认是undefined
5.任何数据类型的值都可以调用 Boolean()函数,返回一个布尔值
通过转化:false,""空字符串,0和NaN,null,undefined都会返回false.一般在比如if这样的控制语句中,都会自动转换。
八进制:以0开头
十六进制:以0x开头
浮点数值: 就是该数值必须包含一个小数点,并且小数点后面必须至少一位数字
6.大多数浏览器中,保存的最小值5e-324,最大值是 1.7976931348623157e+308
7 .isFinite()检验是不是位于最大值和最小值之间,是就返回true,不是就返回false
8. isNaN()检验是不是数值,不是数值就返回true
9.parseInt()转换的时候可以提供转换基数。

猜你喜欢

转载自blog.csdn.net/viewyu12345/article/details/79649206