1. 全局变量
name='cloud';
局部变量
var name='cloud'
2. 类型转换
1 year="2017";2 // 转换为Int3 i = parseInt(age);4 // 转换为float5 p = parseFloat(age);
数据类型
布尔
true/false
字符串
name='clsun'; "clsun" name.charAt(0) "c" name.substr(1,3) "lsu" name.length 5 name = name.concat('cloud') "clsuncloud" name.indexOf('un') 3 name.lastIndexOf('cl') 5 name.split('cl') (3) ["", "sun", "oud"] a =[1,2,3,4] (4) [1, 2, 3, 4] a.push[5] undefined a (4) [1, 2, 3, 4] a.push(5) 5 a (5) [1, 2, 3, 4, 5] a.pop() 5 a.unshift(0) 5 a (5) [0, 1, 2, 3, 4] a.shift() 0 a (4) [1, 2, 3, 4] a.splice(1,1,2.5) [2] a (4) [1, 2.5, 3, 4] a.splice(1,0,2.25) [] a (5) [1, 2.25, 2.5, 3, 4] a.splice(1,2) (2) [2.25, 2.5] a (3) [1, 3, 4] a.slice(0,2) (2) [1, 3] a (3) [1, 3, 4]
字典
a = {'key1':'value1','key2':'value2'}
数组
a=[1,2,3]
3. 循环
a = [1,2,3,4]
//循环时,得到的结果是索引
for(var item in a){ console.log(item);/a[item] }
a = {'key1':'value1','key2':'value2'}
for(var item in a){ console.log(item); / a[item] }
a = [1,2,3,4]
for(var i=0;i<a.length;i=i+1){}
4. 条件
== 值相等
=== 值和类型都相等&& and|| or
if(condition){
}else if(condition){
}else{
}
5. 函数
function 函数名(a){
}
6. 定时器 间隔一段时间执行
function fun1() { console.log(1); } //// 定时器,弹窗 // setInterval('alert("warning");', 2000); setInterval('fun1();', 2000);
7.
通过id获取单个元素
document.getElementById('id')
通过tag获取多个元素(列表)document.getElementsByTagName('div')
通过class获取多个元素(列表)document.getElementsByClassName('c1')
父节点标签
parentElement
子节点标签
children第一个子标签元素
firstElementChild最后一个子标签元素
lastElementChild上一个兄弟标签元素
previousElementSibling下一个兄弟标签元素
nextElementtSibling获取标签中的文本内容
innerText
获取标签中的class name
className
返回列表形式
classList
添加样式
tag.classList.add('name')
删除样式 tag.classList.remove('name')
8.
on click
点击执行函数
<div οnclick='func();'>click</div>
9.
字符串和json转换
l = [1,2,3,4,5](5) [1, 2, 3, 4, 5]s= JSON.stringify(l)"[1,2,3,4,5]"typeof(l)"object"typeof(s)"string"news = JSON.parse(s)(5) [1, 2, 3, 4, 5]typeof(news)"object"
10.
特殊字符转义
decodeURI( ) URl中未转义的字符
decodeURIComponent( ) URI组件中的未转义字符
encodeURI( ) URI中的转义字符
encodeURIComponent( ) 转义URI组件中的字符
escape( ) 对字符串转义
unescape( ) 给转义字符串解码
11.
eval
s='2*2'
val = eval(s)
12.
date
var d= new Date()undefineddMon Dec 11 2017 16:25:00 GMT+0800 (China Standard Time)dd.getHours()16d.setHours(17)1512984300651dMon Dec 11 2017 17:25:00 GMT+0800 (China Standard Time)
13.
函数的作用域
以函数为作用域
函数的作用域在函数未被调用之前,已经创建
函数存在作用域链, 在调用之前就被创建
14.面向对象
this代指对象(self)
创建对象时,使用new函数