值类型和引用类型
值类型
undefined
string
number
boolean
引用类型
object:
{}
[]
null
function
强制类型转换
字符串拼接
==运算符
if语句
逻辑运算符
判断是否是true还是false: console.log(!!a);
执行上下文
自动会将函数声明 和函数表达式提前
this
在执行时,才能确认值
作用域
作用域链
闭包
函数和声明会提前
作为构造函数
作为对象属性
作为普通函数
call 直接用
apply 要用[] 数组方式
bind (.bind({y:100}))
在可能等待的情况需要异步
不能像alert阻塞程序运行
所以 等待的情况下 都需要异步
定时任务:setTimeout setInterval
网络请求:ajax请求,动态IMG的加载
var xhr=XMLHttpRequest() xhr.open("get",url) xhr.send() xhr.onreadystatechange=function(){ if(xhr.readystatechange==4&&xhr.status==200) { document.getElementById("myDiv").innerHTML=xhr.responseText; } }
事件绑定
function foematDate(dt){ if(!dt){ dt=new Date() } var year = dt.getFullYear() var month = dt.getMonth()+1 var date = dt.getDate() if(month<10){ month='0'+month } if(date<10){ date='0'+date } return year+ '-' +month+'-'date //日期格式 } var dt=new Date() var formatDate = formatDate(dt) console.log(formatDate)
var random=Math.random() var random=random+'0000000000' var random=random.slice(0,10) console.log(random)
var arr = ['a','b','c','d'] arr.forEach(function(item,index){ console.log(index,item) })
function forEach(obj,fn) { var kry if(obj instanceof Array) { obj.forEach(function(item,index) { fn(index,item) }) } else { for(key in obj) { if (obj.hasOwnProperty(key)) { fn(key,obj[key]) } } } } var arr = [1,2,3,4] forEach(arr,function(index,item) { console.log(index,item) }) var obj={x:100,y:200,z:300} forEach(obj,function(key,val) { console.log(key,val) })
var arr = [1,2,3,4] var result=arr.every(function(item,index){ if(item<5){ return true } }) console.log(result)
var arr = [1,2,3,4] var result=arr.some(function(item,index){ if(item<3){ return true } }) console.log(result)
var arr = [1,6,2,7,3,5,4] var arr2=arr.sort(function(a,b){ return a-b //从小到大排序 反之 大到小 }) console.log(arr2)
var arr = [1,2,3,4] var arr2=arr.map(function(item,index){ return '+item+' }) console.log(arr2)
var arr = [1,2,3,4] var arr2=arr.filter(function(item,index){ if(item>2){ return true } }) console.log(arr2)
var obj = { x:100, y:200, z:300 } var key for (key in obj) if(obj.hasOwnProperty(key)) { console.log(key,obj[key]) }