一只Chang

javascript基础笔记

查看 wifi密码: netsh wlan show profiles "JDZU" key=clear

prompt()//弹框提示,输入内容;配套parseInt(prompt("输入提示语"))
alert();//弹框
console.log();//在控制台输出
document.write();//在页面显示
大驼峰规则为构造函数 小驼峰为函数方法
输出数组名则输出数组中所有的内容;
new的流程:先声明一个空对象 里面有一个-proto-属性指向 构造器.protptype
闭包:函数内声明某函数(只声明不执行) 再将这个函数保存到外部 执行时使用的变量是父函数的
立即执行函数:只有函数表达式才能被执行 且执行之后引用被删除 执行符号为()
call和apply的作用和区别:用于改变this的指向 区别在于传参的列表
遍历对象的方法:var prop in arr ,拷贝引用值 。数组内容以字符串的形式传入prop
null==undefined NaN!=NaN
this:指向调用它的对象 全局则指向windows
浅克隆的方法:通过遍历 var prop in arr 的方法 进行克隆
深度克隆:1.判断是不是原始值
2.判断是数组还是对象
3.建立相应的数组或者对象
通过对这三个步骤进行递归调用 实现对克隆对象分析 最后实现克隆
原型:构造器Car 对象car car为Car构造器构造出来的对象 Car.prototype和car.__prop__等同
Car.prototype为构造对象的模型
sort排序:无参方法有进制问题 所以要自己编写接口 这个接口要有两个参数 返回值为正则正序 为负倒序
arr.sort(function (a,b){方法体})
类数组:本质为对象 但是可以当数组来用
属性要为索引(数字),必须有length属性,最好加上push (push 方法是根据length值进行处 理的)
js方法:document.getElementById() 获取id属性的元素
getElementByTagNaame() 获取标签名元素 通常为一个类数组 例如把所有div取出来
getElementByName() 获取元素名
getElementByClassName() 类名
querySelector(‘div>span strong.demo’) css选择器 参数为css格式
querySelectorAll() css选择器
冒泡事件:结构上存在父子关系的元素 如果事件点击到了子元素 这个事件会一级一级的向他的父元素上传 递这个事件 这个只与结构有关 与视图无关(addEventListener('click',function(){},false))
事件捕获:结构上存在父子关系 与冒泡事件相反 这个事件会自父元素捕获至子元素addEventListener ('click',function(){},true)
先捕获再冒泡: 如果一个元素分别绑定了一个冒泡事件和一个事件捕获 则先执行事件捕获

JSON:是一种传输数据的格式(以对象为样板,本质上就是对象,但用途有区别,对象是本地用的,json是 用来传输的
JSON.parse();string-->json
JSON.stringify();-->string

js时间线:
1、创建document对象,开始解析web页面。解析HTML元素被他们的文本内容后添加Element对象和Text节点到文档中,
这个阶段document.readyState="loading".
2、遇到link外部css,创建线程加载,并继续解析文档。
3、遇到script外部js,并且没有设置async、defer,浏览器加载,并堵塞,等待js加载完成并执行该脚本然后继续解析
4、遇到script外部js,并且设置async、defer,浏览器创建线程加载,并继续解析文档。对于async属性的脚本,脚本加载完成后立即执行。(异步禁止使用document.write())
5、遇到img等,先正常解析dom结构,然后浏览器异步加载src,并继续解析文档。
6、当文档解析完成,document.readyState='interactive'。
7、文档解析完成后,所有设置有defer的脚本胡按顺序执行。(注意与async的不同,但同样禁止使用document.write().
8、document对象触发DOMContentLoaded事件,这也标志这程序执行从同步脚本执行阶段,转化为事件驱动阶段。
9、当所有async的脚本加载完成并执行后、img等加载完成后,document.readyState='complete',window对象触发事件。
10、从此,以异步响应方式处理用户输入、网络事件等。
正则表达式:1、[检索范围] {检索数量}
2、 [^a]再中括号里^为非 再外部为开始符
3、reg.test(); 正则的方法 str.match() 字符串方法 可用于匹配字符
4、\b 为单词边界 . 为[^\r\n] n+为{1,}一个或者多个n n* 为{0,} n?为{0,1}
a( ?=n ) 检索a后面跟着n的这个a

 

posted on 2020-03-23 17:18  一只Chang  阅读(123)  评论(0编辑  收藏  举报

导航