- JS会把前缀ox的数值常量解释为十六进制
2.绝不要用前导0写数字(如07)
一些JS版本会把带前导零的数解释为八进制
3.默认地,JS把数显示为十进制小数
4.使用toString()方法可输出16、8、2进制
5.数值可以是对象,通常JS通过字面量创建原始值,也可以通过关键词new定义为对象
1.toString()以字符串返回数组
2.所有数字方法可用于任意类型的数字(字面量、变量或表达式)
eg:var x=123;x.toString();
(123).toString();
3.toExponential(x)返回字符串值,包含已被四舍五入并使用指数计数的数字(x表示保留几位小数)
(参数可选,不设置,JS不对数字进行舍入)
4.toFixed()返回字符串值,包含指定小数的数字
5.toPrecision()返回字符串值,包含指定长度的数字
var x=6.946(四舍五入)
x.toPrecision(2)------->6.9
1.valueOf()以数值放回数值
2.在JS中,数字可以是原始值或对象(typeof----->object new)
3.在JS内部使用valueOf()方法可将Number对象转换为原始值
4.所有JS数据类型都有valueOf()和toString()方法
5.变量--->数值
(1)Number()
(2)parseInt()
(3)parseFloat()
1.Number可用于把JS转为数值(不允许空格)
2.若无法转换为数字,则返回NaN(用空串,无法识别)
3.Number转换日期,返回1970年1月1日至今的毫秒数
4.parseInt(),parseFloat()字符串--->数值 允许空格,只返回首个数字,无法转换数值,则返回NaN
5.数值属性:
MAX_VALUE 返回JS中可能的最大数
MIN_VALUE 返回JS中可能的最小数
NEGATIVE_VALUE 表示负无穷大(溢出返回)
NaN Not-a-Number非数值
POSITIVE_VALUE 表正无穷大(溢出返回)
1.数字属性不可用于变量
2.数值属性属于名为number的JS数字对象包装器,只能作为Number.xxx访问,使为myNumber.xxx将返回undefined,myNumber为数字变量/表达式/值
3.JS数组用于在单一变量中存储多个值
4.使用数组文本是创建JS数组最简单的方法
var array-name=[item1,item2...]
5.在数组中,空格和折行并不重要,声明可横跨多行,请不要最后一个元素写逗号,可能存在跨浏览器兼容性问题
1.访问数组元素:通过引用索引号(下标号)来引用某个数组元素
2.数组索引从0开始
3.访问完整数组:document.getElementById("demo").innerHTML=cars
4.cars[0]='xxx'可修改数组cars第一个元素的值
5.数组是一种特殊类型的对象,在JS中对数组typeof运算符会返回"object"
1.数组元素可以是对象,在数组中可存放不同类型的变量,比如对象,函数,数组
2.length返回数组的长度(数组元素的数目)
3.length属性始终大于最高数组索引(下标)
4.访问数组第一个元素 arr[0]
访问数组最后一个元素 arr[arr.length-1]
5.遍历数组最安全的方法用for循环
可使用Array.foreach遍历数组
1.向数组添加新元素push()
2.可使用length向数组添加新元素
arr[length]="lemo"
添加最高索引的元素可在数组中创建未定义的"洞"
3.具有命名索引的数组称为关联数组(或散列)
4.JS不支持命名索引的数组
5.在JS中,数组只能使用数字索引
1.在JS中,使用命名索引的数组,会被重定义为标准对象,所有数组方法和属性将产生非正确结果
2.数组与对象的区别:
在JS中,数组使用数字索引
在JS中,对象使用命名索引
数组是特殊类型的对象,具有数字索引
3.没必要使用JS的内建数组构造器new Array(),请使用[]取而代之
4.识别数组
(1)ES5 Array.isArray() //true/false
(2)自定义:x.constructor.toString().indexOf("Array")>-1
(3)由给定构造器[]创建,用instanceof返回true
5.toString()把数组转换为数组值(逗号分隔)的字符串
1.join()可将所有数组元素结合为一个字符串,类似toString(),但可以规定分隔符
2.pop()从数组中删除最后一个元素,返回删除的元素
3.push()在数组结尾处添加一个新元素,返回新数组长度
4.shift()删除首个数组元素,并把所有其他元素"位移"到更低的索引,返回被移出的字符串(元素)
5.unshift()在数组开头添新元素,并把旧元素向后移,返回新数组的长度
1.既然JS数组属于对象,其中的元素就可以使用JS delete运算符来删除,会留下未定义(undefined)的空洞
2.splice()可向数组添加新项
splice(x,y,z):
x:定义应添加新元素的位置(拼接)
y:定义应删除多少元素
z:其他参数定义要添加的新元素(删除时省略)
返回一个包含已删除项的数组
3.concat()合并(连接)现有数组来创建一个新数组
(1)不会更改现有数组,总返回一个新数组
(2)可以使用任意数量的数组参数 arr.concat(arr1,arr2)
(3)可将值作为参数 arr.concat(["e","t","l"])
4.slice()创建新数组,不会从源数组中删除任何元素
(1)接受2个参数
(2)(start,end) 不包括end
(3)只一个参数,切出数组剩余部分
5.sort(0方法以字母顺序对数组进行排序
1.reverse()反转数组中的元素
2.通过比值函数来修正对数字排序
var points=[40,100,1,5,25,10]
points.sort(function(a,b){ return a-b});
(1)比较函数返回一个负、零或正值
(2)以随机顺序数组
points.sort(function (a,b){return 0.5-Math.random()})
3.查找最高(或最低)的数组值,在sort()和比值函数对数组排序后,对points[0],points[points.length-1]进行访问
4.对数组使用Math.max(),使用Math.max.apply来查找数组的最高值(Math.min同理)
function myArrayMax(arr){
return Math.max.apply(null,arr)
}
(1)Math.max.apply([1,2,3])
(2)Math.max(1,2,3)
5.自定义查找Max
function myArrayMax(arr){
var len=arr.length
var max=-Infinity
while(len--){
if(arr[len}>max){
max=arr[len]
}
}
return max;
}