这是我参与「第四届青训营」笔记创作活动的的第4天
基本类型的存放
js变量的生命
局部js变量
在函数内声明(var)的变量是局部变量,可以在不同函数使用相同名称,在函数运行完毕,本地变量就会被删除
全局js变量
在函数外声明的变量是全局变量,网页上所有函数和脚本都能访问它
js变量生存期
- js变量的生命期从被声明开始
- 局部变量在函数运行后被删除
- 全局变量在页面关闭后删除
向未声明的js变量分配值
变量会自动作为window的一个属性
js事件
常见的HTML事件
| 事件 | 描述 |
|---|---|
| onchange | HTML元素改变 |
| onclick | 用户点击 HTML 元素 |
| onmouseover | 鼠标指针移动到指定的元素上时发生 |
| onmouseout | 用户从一个 HTML 元素上移开鼠标时发生 |
| onkeydown | 用户按下键盘按键 |
| onload | 浏览器已完成页面的加载 |
| 不推荐直接HTML元素中添加事件,更推荐在js中添加。 | |
| 满足模块内部高度聚合,模块模块之间耦合度降低 |
字符串属性和方法
属性
| 属性 | 描述 |
|---|---|
| constructor | 返回创建字符串属性的函数 |
| length | 返回字符串的长度 |
| prototype | 允许您向对象添加属性和方法 |
方法
| 方法 | 描述 |
|---|---|
| charAt() | 返回指定索引位置的字符 |
| charCodeAt() | 返回指定索引位置字符的 Unicode 值 |
| concat() | 连接两个或多个字符串,返回连接后的字符串 |
| fromCharCode() | 将 Unicode 转换为字符串 |
| indexOf() | 返回字符串中检索指定字符第一次出现的位置 |
| lastIndexOf() | 返回字符串中检索指定字符最后一次出现的位置 |
| localeCompare() | 用本地特定的顺序来比较两个字符串 |
| match() | 找到一个或多个正则表达式的匹配 |
| replace() | 替换与正则表达式匹配的子串 |
| search() | 检索与正则表达式相匹配的值 |
| slice() | 提取字符串的片断,并在新的字符串中返回被提取的部分 |
| split() | 把字符串分割为子字符串数组 |
| substr() | 从起始索引号提取字符串中指定数目的字符 |
| substring() | 提取字符串中两个指定的索引号之间的字符 |
| toLocaleLowerCase() | 根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射 |
| toLocaleUpperCase() | 根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射 |
| toLowerCase() | 把字符串转换为小写 |
| toString() | 返回字符串对象值 |
| toUpperCase() | 把字符串转换为大写 |
| trim() | 移除字符串首尾空白 |
| valueOf() | 返回某个字符串对象的原始值 |
循环for
for in 循环
使用for in遍历对象属性
var person={fname:"Bill",lname:"Gates",age:56};
for (x in person) // x 为属性名
{ txt=txt + person[x]; }
使用for in遍历数组
给for循环命名,然后使用break和continue控制多层循环
变量的判断
typeof操作符
typeof "John" // 返回 string
typeof 3.14 // 返回 number
typeof NaN // 返回 number
typeof false // 返回 boolean
typeof [1,2,3,4] // 返回 object
typeof {name:'John', age:34} // 返回 object
typeof new Date() // 返回 object
typeof function () {} // 返回 function
typeof myCar // 返回 undefined (如果 myCar 没有声明)
typeof null // 返回 object
constructor属性
alert prompt confirm
altert
alert("Hello")
prompt
函数接受两个参数
result = prompt(title, [default])
title显示给用户的文本
default可选参数,指定input初始值
let age = prompt('How old are you?', 100);
alert(`You are ${age} years old!`); // You are 100 years old!
confirm
与prompt类似返回布尔值
let isBoss = confirm("Are you the boss?");
alert( isBoss ); // 如果“确定”按钮被按下,则显示 true
模态方法,会暂停脚本的执行,并且不允许用户与该页面交互,直到窗口被解除