JavaScript之旅(1) | 青训营

143 阅读3分钟

这是我参与「第四届青训营」笔记创作活动的的第4天

image.png

基本类型的存放

js变量的生命

局部js变量

在函数内声明(var)的变量是局部变量,可以在不同函数使用相同名称,在函数运行完毕,本地变量就会被删除

全局js变量

在函数外声明的变量是全局变量,网页上所有函数和脚本都能访问它

js变量生存期

  1. js变量的生命期从被声明开始
  2. 局部变量在函数运行后被删除
  3. 全局变量在页面关闭后删除

向未声明的js变量分配值

变量会自动作为window的一个属性


js事件

常见的HTML事件

事件描述
onchangeHTML元素改变
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

模态方法,会暂停脚本的执行,并且不允许用户与该页面交互,直到窗口被解除