1、什么是Javascrpt?

轻量级 、编程语言

HTML+css -->设计

 参数的默认值设置

 

 

函数的闭包:

 

 

 浏览器加载整个页面的过程

 

浏览器:多线程

1、js引擎

2、UI渲染

3、事件线程

4、发起请求的线程

5、定时器的线程

 

js-->》单线程 --》编程方便

银行 一个柜台   js相关的事情

排队

 

js--》 单线程

同步任务

异步任务

 

js

第一阶段:载入阶段    默认 :同步

第二阶段:事件阶段  异步

 

浏览器的三大弹窗:

//浏览器的弹窗
//3种弹窗
//alert(只有确定)
//confirm返回布尔值(确定、取消)
//prompt弹窗,有输入框
var bfv=prompt('请输入')
console.log(bfv)

 

间隔函数(计时器)

var num=0
function add(){
console.log(++num)
}
var sil=setInterval(add,1000) //每隔1秒执行一次
function end(){
clearInterval(sil)
}
setTimeout(end,10000)//执行10秒以后就会清除

 

 

 

事件的类型:

事件源:事件产生的地方

事件的类型:点击  键盘

事件对象:记录好  信息

事件的处理程序:函数

 

注册:把以后会发生的事情,先提前报备一下

例如:没钱了就会给家里打电话   你   肯定打电话

没钱了 + 打电话 -》 你

事件的类型 + 函数 -》元素

 

两种方式:

1、HTML的属性:

属性名:on+事件的名字    onclick   click就是点击事件类型

属性值:方法

直接在html设定

通过js元素对象来设定

 

 

直接在html设定方法名,然后会直接调用

<div id="div1" onclick="add()">hehe</div>

<script>
var num=0
function add(){//每点击一次就加1
console.log(++num)
}
</script>

 

 

通过js元素对象来设定

<body>
<div id="div1">hehe
<img id="img1" src="img/a1.jpg" />
<h6>hh</h6>
</div>
<script>
var num=0
function add(){
console.log(++num)
}
var div1=document.querySelector('#div1')
div1.onclick=add

div1.onclick=null  //清除这个点击事件
</script>
</body>

 

通过系统调用  提供的调用方法

div1.addEventListener(事件类型click,函数add,事件的处理方式)//事件的处理方式有捕获和冒泡,默认是冒泡,其实他是有个布尔值,默认是false(冒泡)

div1.addEventListener('click',add)//事件的处理方式有捕获和冒泡   注意:IE9以后才有这个.addEventListener监听方法,而IE9之前是attachEvent(),其实功能是类似的

通过这种监听事件可以将同一事件绑定多个方法

div1.removeEventListener("click",add) //取消这个监听事件

 

 

 

 

 

js引入及阻塞加载

js:嵌套代码、引入外部链接

 

获取系统时间:timem=new Date()

js是阻塞式的加载

console.log("start")
working(10*1000)
console.log('end')
function working(time){

var nowTime=Date.now()//毫秒
var exitTime=nowTime+time
while(nowTime<exitTime){
//干活
nowTime=Data.now()
}
}