JavaScript-笔记
[toc]
1. 数据类型 + 类型转化
- string
- boolean
- number
- object
- null
- undefined
1.1 String => Number
【直接查看字符串的首字符 是否 为数字=》不是 =》NaN】
- parseInt( )
1 | parseInt("123abc") // 123 |
- parseFloat( )
1 | parseFloat("123abc") // 123.0 |
1.2 Number => String
- toString( ):转化为字符串
- toFix( 保留的小数位数 ):四舍五入后,转化为字符串
2. 数组
2.1 定义:
1 | var arr = [1,2,3,4] |
2.2 数组长度:
arr.length ,长度可被修改
1 | var arr = [1,2,3,4] |
2.3 数组元素 + 数组属性 的修改
【下标:若不是数字,则当作属性】
1 | var arr = [1,2,3,4] |
2.4 数组的 遍历
1 | var arr = [1,2,3,4] |
2.5 数组的 常用方法
1 | /* |
3. 函数
定义:
1 | // 1. |
4. 内置对象 +对象
4.1 内置对象
- string
- date
- math
- array
- arguments
4.2 对象
4.2.1. 定义:
1 | let obj = { |
4.2.2. 序列化 + 反序列化
序列化 :对象 =转化为= 》 字符串
反序列化: 字符串 =转化为= 》对象
1 | JSON.stringify(obj) |
4.2.3. this
默认指向window对象。谁调用,this就指向谁
1 | let print = function(){ |
5. 事件
注意:
- js最好写html后面,防止加载js时还没有html标签,造成程序报错
- 若一定想要写在html前面,则需要在 js 外面套函数:window.onload = function( ){… }
5.1 事件定义:
事件 = 事件源 + 监听器+ 事件名 + 处理
【3种事件】
1 | // 1. html事件 |
5.2 常用事件:
- window.onload
鼠标:
- on click
- on doublec lick
- on mouse over
- on mouse out
键盘:
- on key down
- on key up
文本框
- on focus
- on blur
select+option标签
- on change
事件流:【事件的触发顺序】
- 事件冒泡【默认的事件流】:内层标签 =传递到=》外层标签
- 事件捕获:外层标签 =传递到=》内层标签
6. BOM对象
6.1 弹窗:
- alert( ‘警告信息’)
- prompt( ‘ 提示’):输入弹窗,获取字符串
- confirm( ‘ 提示’):确认框,返回 bool值
6.2 页面【打开、关闭】:
- window.open(网址str)
- window.close( ):只适用于 关闭window.open( )打开的页面
1 | window.open() // 打开空白页面 |
6.3 时间日期:
1 | let d = new Date() |
6.4 history对象:
window.history.length : 历史记录数
window.history.back( ):后退按钮
window.history.forward( ):前进按钮
window.history.go( num | url ):跳转
1 | history.go(-1) // 上一个页面,-1为 当前页面 与 目标url 的相对位置 |
6.5 location对象:
- window.location.href:网址
- window.location.reload( ):刷新页面
- window.location.replace( ):替换url
1 | window.location.href = 'http://www/baidu.com' |
7. DOM对象
7.1 直接 获取 dom节点:
- document. getEmenentBy Id ( 标签 id ):
ID
- document. getEmenentsBy ClassName ( 标签class ) [下标]:
类名
- document. getElementsBy TagName ( 标签名 ) [下标]:
标签
- document. getElementsBy Name ( 表单元素的name属性值 ) [下标]:
表单名
7.2 间接 获取 dom节点:
- parentNode
- previousSibling
- nextSibling
- childNodes
- firstChild
- lastChild
1 |
|
7.3 创建节点
- document.createElement(标签str )
- document.createTextNode(文本str )
- 标签1.innerHTML = html字符串
7.4 添加节点:
- 标签1.appendChild( 标签2)
- 标签1.innerHTML = html字符串
- 标签1.insertBefore(标签2):
先找父节点,再调用insertBefore(标签类型,在哪个节点前)
1 | //方式1: appendChild |
7.5 删除结点
- removeChild( )
1 | let div1 = document.getElementById('div1') |
7.6 修改结点的属性
- 直接访问属性后修改
- 利用 标签1.setAttribute(属性名,属性值)
- 利用 innerHTML 的字符串拼接
1 | //方式1 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Cyw的笔记栈!