数据类型
number ----- 数值
boolean ----- 布尔值
string ----- 字符串
undefined ----- undefined
null ----- null
object ----------- 数组 new Array() 对象 {}
注意:
var bResult = "25" < 3;
alert(bResult); //输出 "false"
NaN:
var d="yuan"; d=+d; alert(d);//NaN:属于Number类型的一个特殊值,当遇到将字符串转成数字无效时,就会得到一个NaN数据 alert(typeof(d));//Number
字符串常用方法
x.length ----获取字符串的长度
x.toLowerCase() ----转为小写
x.toUpperCase() ----转为大写
x.trim() ----去除字符串两边空格
x.charAt(index) ----单个字符,获取指定位置字符,其中index为要获取的字符索引
x.indexOf(findstr,index)----查询字符串位置 获得第一个找到的位置索引返回
x.lastIndexOf(findstr)
x.slice(start, end) ----切片操作字符串
x.replace(findstr,tostr) ---- 字符串替换
x.split(); ----分割字符串
数组
创建方式 1
var arr1=[1,2,3,4,5,6]
创建方式 2
var arr1= new Array(1,2,3,4,5,6)
创建方式 3
var arr1=new Array(10)
//********************************
常用方法
1 concat [1,2].concat(1,2)-----[1,2,1,2] concat [1,2].concat([1,2])-----[1,2,1,2]
concat [1,2].concat([[1,2]])-----[1,2,[1,2]] 二维数组
2 join("")------- 按指定字符串拼接 [1,2].join()-----> "1,2" [1,2,3].join("+")----->1+2+3
3 reverse 反转数组 [1,2,3,1].reverse()-------->[1,3,2,1]
4 sort 给数组排序 [22,33,4,8,2,7].sort()------>[2, 22, 33, 4, 7, 8] 这默认是按第一位排序
我们想要排序需要写个函数 例如: return a-b 如果a-b 升序 b-a 降序
[22,33,4,8,2,7].sort(function(a,b){return a-b})-------->[2, 4, 7, 8, 22, 33]
5 slice(start,end)--------->与字符串差不多
可以拷贝数组 并不是同一个地址哦
方式 一:
var arr1=[1,2,3]
var arr2=arr1.slice()
arr1[0]=999
arr1 -------- [999, 2, 3]
arr2 -------- [1, 2, 3]
方式 二:
arr3=arr1.slice(0,arr1.length)
6 splice(start, deleteCount, value, ...)--------具有增删改的功能强大,会修改原数组并返回删除的值
7 push ------ 在数组的最后添加一个元素 , 类似于python的 append (压栈)
8 pop ------- 弹出数组的最后一个元素 (弹栈)
9 shift ------- 删除数组的第一个元素
10 unshift ------ 在数组的头添加元素
11 indexof -------- 与字符操作类似
Math对象
abs(x) 返回数的绝对值。
exp(x) 返回 e 的指数。
floor(x)对数进行下舍入。
log(x) 返回数的自然对数(底为e)。
max(x,y) 返回 x 和 y 中的最高值。
min(x,y) 返回 x 和 y 中的最低值。
pow(x,y) 返回 x 的 y 次幂。
random() 返回 0 ~ 1 之间的随机数。
round(x) 把数四舍五入为最接近的整数。
sin(x) 返回数的正弦。
sqrt(x) 返回数的平方根。
tan(x) 返回角的正切。
Date对象
getDate() 获取日
getDay () 获取星期
getMonth () 获取月(0-11)
getFullYear () 获取完整年份(推荐使用)
getYear () 获取年
getHours () 获取小时
getMinutes () 获取分钟
getSeconds () 获取秒
getMilliseconds () 获取毫秒
getTime () 返回累计毫秒数(从1970/1/1午夜)(时间戳)
函数
// 定义一个函数
function fun(a,b){
return a+b
}
// 匿名函数
var fun2 = function(){
console.log(1)
}
fun2()
// 自运行函数/自执行函数
(function(){
console.log(2)
})()
// 函数嵌套
function f1(){
console.log('f1');
function f2(){
console.log('f2');
}
return f2;
}
f1()() // 相当于f2()
// 传参
var f6 = (function (a){
console.log('f5, a=' + a);
return function(b){
console.log('f6, b=' + b);
}
})(10)
f6(20)
// 构造函数 创建类的东西
function MyClass(Object){
this.name='alex'
this.age=18
}
// 实例化对象
m1 = new MyClass();
m1.age ------>18
定时器
var timer = setInterval( function(){},1000);
# 一次性
var timer = setTimeout( function(){},1000);
clearInterval(timer);
BOM
DOM
查找节点
getElementById(): 获取特定ID元素的节点对象(返回一个对象)
getElementsByTagName(): 获取指定标签名的节点列表(返回一个数组)
getElementsByName(): 获取相同name属性值的节点列表(返回一个数组)
getElementsByClassName()
// 节点属性
tagName 标签名
innerHTML 节点内容
className class的值
style css 样式对象
children 所有的子元素节点
value input 的value
this:表示当前操作对象
节点操作
createElement()创建一个元素节点
appendChildren()追加一个子节点
createTextNode()创建一个文本节点
insertBefore()将新节点插入到某个节点中
replaceChild() 节点的替换 (new node , old node)
cloneNode()节点的克隆
removeChild()删除节点
事件
鼠标事件
onclick()
dbclick()
onmousedown()
onmouseup()
onmousemove()
onmouseleave()
onmouseenter()