JavaScript之干货笔记

1、JavaScript的组成
1、ECMAScript:规定了JS的编程语法和基础核心知识
2、DOM(Document Object Model): 可操作页面上的各种元素
3、BOM(Browser Object Model): 可操作浏览器窗口
2、JavaScript三种书写位置
行内式
内嵌式
外部js文件
3、JavaScript两种注释方式
单行://
多行:/* /
4、变量声明:var(函数级作用域),let(块级作用域),const(块级作用域)
var age
age=18
var age=18
5、变量命名规范:参照Java准没错
6、数据类型:Number(数字型),Boolean(布尔型),String(字符串型),Undefined(没有类型),Null(空值)
7、获取变量数据类型:typeof
8、数据类型转换:
toString(),parseInt(),parseFloat(),Boolean()
隐式转换:1+‘1’;‘12’-‘2’;2
’3’;‘10’/5 ???
9、运算符
算术运算:+, -, *, /, %, ++, --, **
比较运算:>, >=, <, <=, ==, !=, =, !
逻辑运算:&&, ||, ! (短路运算)
位运算:~, &, ^, |, <<, >>, >>>
赋值运算:=, +=, -=, *=, /=, %=, **=, &=, ^=, |=, <<=, >>=, >>>=
条件运算:cond ? op1 : op2
寻址运算:str[2], arr[3], obj[‘key’], obj.key
10、流程控制参见其他你熟知的编程语言
11、js中的break,continue,和return的用法及区别
参见其他你熟悉的编程语言!!!
12、数组
1、数组的创建:
var arr1=new Array();/new Array(1);/new Array(2,3);
var arr2=[1,‘hello’,true,null];
2、获取与修改数组
arr2[0]=arr2[3];//依旧是0序
3、属性与方法
1、属性:arr2.length=4
2、方法:indexOf(),forEach(),push(),pop(),reverse(),includes(),sort()……
13、函数
1、命名函数
function 函数名(参数1,参数2,…){

    }
2、匿名函数(函数表达式)
    var fn=function(arg=default){

    }
    箭头函数:var fn=(arg=default)=>{};
    函数调用:var result=fn();
3、参数匹配原则
    调用和定义的参数顺序匹配,调用时多填入的参数会被抛弃,少填入的参数会被设为默认值或undefined;
    默认值不一定是最后几项,可以在有默认值的参数后面放置没有默认值的参数,但匹配原则仍然是顺序的;
    当不确定有多少个参数传递的时候,可以用 arguments 来获取。  ???

14、对象
1、使用对象字面量创建
2、使用new Object()创建
3、使用构造函数创建
15、new关键字的作用
1、 在构造函数代码开始执行之前,创建一个空对象;
2、修改this的指向,把this指向创建出来的空对象;
3、执行构造函数的代码,给这个新对象添加属性和方法;
4、返回this—即创建出来的对象(所以不需要return)
16、类:参加javaSE类与对象部分
17、继承:参加javaSE类与对象部分
18、类–原型链,我觉得这两篇文章将_proto_,prototype讲得比较清楚,致谢:
第一篇博文
第二篇,文章通俗易懂,并且图片解析清楚
1、函数必然有prototype和_proto_两个属性,所有的函数(包括自定义函数)都是Function实例的对象;
2、对象必然有_proto_属性,但不一定有prototype;实例的对象通过_proto_属性连接到构造函数的prototype属性上。而原型链就是从这两者的关系开始一层一层往下找的关系;
3、 当调用某种方法或查找某种属性时,首先会在自身调用和查找,如果自身并没有该属性或方法,则会去它的__proto__属性中调用查找,也就是它构造函数的prototype中调用查找。所以很好理解实例继承构造函数的方法和属性
19、javascript中call,apply,bind方法的区别
共同点:
1、都是用来改变函数的this对象的指向的。
2、第一个参数都是this要指向的对象。
3、都可以利用后续参数传参。
不同点:这篇博文讲得很清楚,不需要太多基础,致谢!
20、DOM:文档对象模型(Document Object Model),通过DOM接口可改变网页的内容、结构和样式
21、DOM树:文档、节点(标签、属性、文本、注释)
22、DOM操作
创建节点:document.write, innerHTML, document. createElement
增加节点:appendChild, insertBefore
删除节点:removeChild
修改节点:
元素属性:element.id, src, href, title 等
元素内容:innerHTML, innerText
元素样式:element.style, className
表单元素:value, type, disabled 等
查找节点:
getElementById, getElementsByTagName, querySelector(静态的), querySelectorAll(静态的)
parentNode, children, previousElementSibling, nextElementSibling
属性操作:setAttribute, getAttribute, removeAttribute
事件操作:onclick, onfocus, onblur, onkeyup, onkeypress
23、DOM事件流:事件发生时在元素节点之间按照特定顺序传播的过程
1、通过设置eventTarget.addEventListener(type, listener[, useCapture])方法中的useCapture来控制是否使用事件捕获(默认是事件冒泡)
2、阻止事件冒泡:e.stopPropagation();
3、阻止默认行为: e.preventDefault();
24、BOM:浏览器对象模型(Browser Object Model),提供了独立于内容而与浏览器窗口进行交互的对象
25、BOM操作
1、常见事件:onload, onresize
2、定时器:
setTimeout(回调函数, [间隔毫秒数]) 计时结束后只调用一次
setInterval(回调函数, [间隔毫秒数]) 每隔一定时间重复调用回调函数
3、clearInterval(intervalID) 取消setInterval建立的定时器
4、location对象:用于获取、解析或设置窗体的URL
5、属性:href, protocol, host, port, pathname, search, hash
6、方法:assign, replace, reload
7、navigator对象:包含有关浏览器的信息
8、history对象:
back(), forward(), go(n)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值