douglas crockford
http://blog.sina.com.cn/s/blog_7339212801015su8.html
1.typeof
操作符,而非函数。可使用'()',但不是必须的。
返回值:
undefined
boolean
string
number
object
function(技术角度,是对象,不是一种数据类型。特殊性,所以通过typeof操作符区分函数和其他对象)
=> undefined值派生自null值,ECMA-262规定相等性测试返回true
alert(null == undefined) // true
2.变量
对于未声明的变量
1)非严格模式下,可执行两种操作:一种是使用typeof操作符检测其数据类型,另一种调用delete(无意义)
2)严格模式下,只能执行一种操作:使用typeof操作符检测其数据类型
3.数据类型
1)基础数据类型:Undefined、Null、Boolean、Number、String
2)复杂数据类型:Object
4.Number
基于IEEE754格式表示整数和浮点数(某些语言中称为双精度数值)
Number.MIN_VALUE ~ Number.MAX_VALUE(一般浏览器为 5e-324 ~ 1.7976931348623157e+308)
超出范围的数值被自动转换成特殊的Infinity值,包括正负(+Infinity, -Infinity)
判断number是否是有穷数,如果是,返回true,否则返回false
isFinite(number)
NaN(Not a Number,非数值)
非数值转换为数值:
Number():用于任意数据类型
parseInt()、parseFloat():用于字符串转换为数值
ES5中parseInt()不具有自动解析八进制的能力,如果需要解析成指定进制数,使用第二个参数(转换基数)
var num = parseInt("AF", 16) //175
var num = parseInt("0xAF") //175
var num = parseInt("0xAF") //NaN
parseFloat() 只解析十进制值。
5.String
转换为字符串
toString():null、undefined值没有此方法
String()
"+"
For example:
var num = 10
num.toString() //"10"
num.toString(2) //"1010"
String(num) //"10"
num + "" //"10"
6.一元操作符
1)递增和递减操作符
2)一元加和减操作符
7.位操作符
数值以IEEE-754 64位格式存储
有符号整数,正数可使用二进制码表示,负数可使用的格式是绝对值的二进制补码(反码+1)
1)按位非(NOT)
波浪线(~)表示,结果是数值的反码(操作数的负值减1)
2)按位与(AND)
和号字符(&)表示,
3)按位或(OR)
竖线符号(|)表示
4)按位异或
插入符号(^)表示
对应位上只有一个1时返回1,对应位上都是1或者都是0时返回0
5)左移(<<)
6)有符号的右移(>>)
7)无符号的右移(>>>)
8.布尔操作符
vue实现监听滚动条
https://blog.csdn.net/echo_Ae/article/details/81220602
https://github.com/PanJiaChen/vue-element-admin/blob/master/src/components/BackToTop/index.vue
特殊字符
html转义字符
1:&; ;属于HTML的字符转义,
2:HTML直接显示转义字符一般是由于标签不完整或字符集错误导致的
3:删除对多余网页本身影响不大。
URI编码
一般用于转换URL特殊字符