JavaScript笔记
作者:@冰山醉酒
本文为作者原创,转载请注明出处:https://www.cnblogs.com/douFrank/p/16117821.html
1|0JavaScript
1|1引入方式
直接引入
外部引入qj.js
1|2基本语法
2|0数据类型
数值,文本,推行,音频,视频……
number
js不区分小数和整数,Number
字符串
'abc' "abc"
布尔值
true ,false
逻辑运算
比较运算符
这是一个JS的缺陷,坚持不要使用==比较
须知:
-
NaN===NaN,这个与所有的数值都不相等,包括自己
-
只能通过isNaN(NaN)来判断这个数是否是NaN
浮点数问题:
尽量避免使用浮点数进行运算,存在精度问题
null和undefined
-
null 空
-
udefined 未定义
数组
java的数组必须是相同的类型的对象,JS不需要这样
取数组下标:如果越界了,不会报错,返回undefined
对象
对象是大括号,数组是中括号
每个属性之间用逗号隔开,最后一个不需要添加
取对象的值
2|1严格检查模式
2|2字符串
1,正常字符串我们使用单引号或者双引号包裹
2,注意转义字符
3,多行字符串编写
4,模板字符串
5,字符串长度
6,字符串的可变性,不可变
7,大小写转换
8,返回匹配字符的下标位置
9,截取字符串
2|3数组
Array可以包含任意的数据类型
1,长度
注意:假如给arr.length赋值,数组大小就会发生变化~,如果复制过小,数据就会丢失
2,indexOf,通过元素获取下标索引
字符串的“1”和数字1是不同的
3,slice() 截取Array的一部分,返回一个新数组,类似于String的substring方法
4,push(),pop()尾部
5,unshift(),shift()头部
6,排序sort
7,元素反转reverse()
8,拼接concat()
注意:concat()并没有修改数组,只是会返回一个新的的数组
9,连接符join
打印拼接数组,使用特定的字符串连接
10,多维数组
2|4对象
若干个键值对
JS中对象,{……}表示一个对象,键值对描述属性 XXX:XX,多个属性之间用逗号隔开,最后一个属性不加逗号
JS中所有的键都是字符串,值是任意对象
1,对象赋值
2,使用一个不存在的对象属性,不会报错,undefined
3,动态删减属性,通过delete删除对象属性
4动态的添加,直接给新的属性添加值即可
5,判断属性值是否在这个对象中 XXX in XX
6,判断一个属性是否是这个对象自身拥有的hasOwnProperty()
2|5循环
for while do while循环
2|6Map和Set
ES6新特性
Map
Set:无序不重复的集合
2|7iterator
遍历数组
遍历map
遍历set
3|0函数
3|1定义函数
一旦执行到return代表函数结束,返回结果!
如果没有执行return,函数执行完也会返回结果,结果就是undefined
function(x){……}这是一个匿名函数。但是可以把结果赋值给abs,
调用函数
参数问题:js可以传任意个参数,也可以不传递参数~
参数进来是否存在问题?
假设不存在参数,如何规避?
arguments
arguments是一个JS免费赠送的关键字;
代表,传递进来的所有的参数,是一个数组!
问题:arguments包含所有的参数,我们有时候想使用多余的参数来进行附加操作。需要排除已有的参数。
rest
以前:
ES6引入的新特性,获取除了已经定义的参数意外的所有参数~
rest参数只能写在最后面,必须用...标识。
3|2变量的作用域
在js中,var定义变量是有作用域的
假设在函数体中声明,则在函数体外不可以使用~ (非要使用,需要使用闭包)
如果两个函数是用来相同的变量名,互不影响
内部函数可以访问外部函数的成员,反之则不行
提升变量的作用域
结果:xunfefined
说明:js执行引擎,自动提升了y的生命更,但不会提升变量的赋值;
这个是js在建立之初就存在的特性,养成规范:所有的变量定义都放在函数的头部,不要乱放,利于代码维护。
全局函数
全局对象 window
alert()这个函数本身也是一个window变量
js实际上只有一个全局作用域,任何变量(函数也可以视为变量),假设没有在函数作用范围内找到,就会向外查找,如果在全局作用域都没有找到,就会报错RefrenceError.
规范
由于我们所有的全局变量都会绑定到我们的window上。如果不同的js文件,使用了相同的全局变量,冲突~>如何能过减少冲突?
把自己的代码全部放入自己定义的唯一空间名字内,减低全局命名的冲突
例如:jQuery
建议大家都用let取定义局部作用域的变量;
常量 const
3|3方法
定义方法
方法就是把函数放在对象的里面,对象只有两个东西:属性和方法
this.代表什么?分开写
this是无法指向的,是默认子项调用它的那个对象;
apply
在js中可以控制this指向!
4|0内部对象
4|1Data
4|2JSON
json是什么
早期,所有数据传输习惯使用XML文件
-
-
简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。
-
并有效地提升网络传输效率。
在js中一切皆为对象,任何js支持的类型都可以用JSON来表示:
格式:
-
对象都用{}
-
数组都用[]
-
所有的键值对都是用key:value
JSON字符串和JS对象的转换
很多人搞不清楚,JSON和JS对象的区别
4|3Ajax
-
原生的js写法 xhr异步请求
-
jQuey封装好的方法 $("#name").ajax("")
-
axios请求
5|0面向对象编程
5|1什么是面向对象
javascript 、java、C#.....面向对象。javascript有些不同
-
类:模板
-
对象:具体的实例
在javaScript这个需要大家换一下思路
原型:
class继承
class关键字,是ES6引入的
继承
原型链
6|0操作BOM对象(重点)
浏览器介绍
js和浏览器的关系
js诞生就是为了能够让它在浏览器中运行
BOM:浏览器对象模型
-
IE6~11
-
Chorme
-
Safari
-
FireFox
三方
-
QQ浏览器
-
360浏览器
window(重要)
window代表浏览器窗口
Navigator(不建议使用)
Navigator,封装了浏览器的信息
大多数时候,我们不会使用navigator对象,因为会被人修改,不建议使用这些属性来判断和编写代码
screen
代表屏幕尺寸
location (重要)
location代表当前页面的URL信息
document(内容:DOM)
document代编当前的页面,HTML DOM文档树
获取具体的文档树节点
获取cookie
history
history代表浏览器的历史记录
7|0操作DOM对象(重点)
核心
浏览器网页就是一个DOM树形结构!
-
更新:更新Domain节点
-
遍历dom节点:得到Dom节点
-
删除:删除一个Dom节点
-
添加:添加一个新的节点
要操作一个Dom节点,就必须要先获得这个Dom节点
获取Domain节点
这是原生代码,之后我们尽量都是用jQuery();
更新节点
操作文本
-
id1.innerText = '李白'修改文本的值
-
id1.innerHTML = '韩信' 可以解析HTML文本标签
操作CSS
删除节点
删除节点的步骤:先获取父几点,再通过父节点删除自己
注意;删除多个节点的时候,children是在时刻变化的,
插入节点
insertBefore
操作表单(验证)
表单是什么 form DOM树
-
文本框 text
-
下拉框 <select>
-
-
多选框 chenckbox
-
隐藏域 hidden
-
密码框 password
-
.........
表单的目的:提交信息
获取要提交的信息
提交表单,md5Jami密码 ,表单优化
优化,过滤 ,双密码框
8|0jQuery
初始jQuery
选择器
事件
操作DOM
文本操作
css的操作
元素的显示和隐藏 本质display:none;
小技巧
1,巩固JS(看jQuery源码,看游戏源码!)
2,巩固HTML,CSS(扒网站,全部down下来,然乎对应修改看效果)
Layer弹窗组件
__EOF__

本文链接:https://www.cnblogs.com/douFrank/p/16117821.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义