js

发布时间:2020-09-13编辑:dyy阅读(1850)

 的作用域:在  中, 对象和函数同样也是变量,作用域为可访问变量,对象,函数的集合  函数作用域: 作用域在函数内修改

局部作用域:变量在函数内声明,变量为局部作用域,变量在函数内声明也只能在函数内部访问blob.png     blob.png局部变量只作用于函数内,所以不同的函数可以使用相同名称的变量,局部变量在函数开始执行时创建,函数执行完后局部变量会自动销毁

全局变量:变量在函数外定义,即为全局变量  全局变量有 全局作用域:受用于网页中所有脚本和函数,blob.png    blob.png如果变量在函数内没有声明没有使用 var 关键,变量写在函数中,那么该变量也全局变量blob.png    blob.png

变量的生命周期:变量在它声明时初始化,局部变量在函数执行完毕后销毁全局变量在页面关闭后销毁,函数的参数也只是在函数内起作用,属于局部变量,在HTML中全局变量是window对象,所有数据变量都属于window对象

事件:HTML 事件是发生在 HTML 元素上,当在 HTML 页面中使用  时,  可以触发这些事件,在HTML事件中可以是浏览器行为也可以是用户行为,HTML 事件的实例有页面加载,input字段改变,按钮点击;当事件发生时,  执行一些代码,HTML添加事件属性,使用javas代码来添加HTML元素,<button onclick="getElementById('demo').innerHTML=Date()">现在的时间是?</button>点击按钮获取现在的时间blob.png  blob.png   代码将修改 id="demo" 元素的内容;blob.png  blob.png 使用 this.innerHTML将修改自身元素的内容;blob.png  blob.png点击按钮调用displaydate()函数

事件可以用于处理表单验证,用户输入,用户行为及浏览器动作:页面加载时触发事件,页面关闭时触发事件,用户点击按钮执行动作,验证用户输入内容的合法性等,还可以使用多种方法来执行  事件代码,可以直接执行  代码,可以调用  函数以为 HTML 元素指定自己的事件处理程序,等

字符串:用于储存和处理文本,字符串可以是插入到引号中的任何字符。你可以使用单引号或双引号:var carname = "Volvo XC60";var carname = 'Volvo XC60';可以使用索引位置来访问字符串中的每个字符:var character = carname[7];符串的索引从 0 开始,这意味着第一个字符索引值为 [0],第二个为 [1], 以此类推在字符串中使用引号,字符串中的引号不要与字符串的引号相同:var answer = "He is called 'Johnny'";var answer = 'He is called "Johnny"';也可以在字符串添加转义字符来使用引号:var x = 'It\'s alright';var y = "He is called \"Johnny\"";

字符串长度:可以使用内置属性 length 来计算字符串的长度  var txt = "Hello World!";document.write("<p>" + txt.length + "</p>");结果为:12

字符串属性:

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():返回某个字符串对象的原始值

运算符 = 用于赋值运算符 = 用于给  变量赋值运算符 + 用于加值:算术运算符 + 用于把值加起来。指定变量值,并将值相加:y=5;z=2;x=y+z;x的值为:7;

算术运算符:加法运算符:"+"blob.pngblob.png减法运算符:"-"blob.pngblob.png 乘法运算符:"*"blob.png blob.png除法运算符:"/"blob.png blob.png取模运算符(余数):"%"blob.png  blob.png自增:"++" blob.png blob.pngx,y两个值都会受影响   ++后blob.png  blob.png自减:"--"blob.png blob.pngblob.pngblob.pngblob.png

赋值运算符:赋值运算符用于给  变量赋值  ”+=”blob.png blob.png

“-=”赋值运算符:blob.pngblob.png  "*="赋值运算符:blob.png blob.png/=”赋值运算符:blob.png blob.png%=”赋值运算符blob.pngblob.png

字符串+运算符:+ 运算符用于把文本值或字符串变量加起来,blob.pngtxt3=What a verynice day   把空格插入表达式中:blob.png txt3=What a very nice day

对字符串和数字惊醒加法运算:两个数字相加,返回数字相加的和,如果数字与字符串相加,返回字符串   blob.pngblob.png

比较和逻辑运算符:比较和逻辑运算符用于测试 true 或者 false比较运算符:在逻辑语句中使用,以测定变量或值是否相等

等于==

x==8


x==5

false


true

blob.pngblob.png


blob.png

绝对等于===

x==="5"


x===5

false


true

blob.png


blob.png

不等于!=x!=8trueblob.png
不绝对等于!==

x!=="5"

x!==5

true

false

blob.png

blob.png

>x>8falseblob.pngblob.pngblob.pngblob.png
<x<8trueblob.png
大于或等于>=x>=8falseblob.png
小于或等于<=x<=8trueblob.png

逻辑运算符:逻辑运算符用于测定变量或值之间的逻辑:&&:当且仅当两个操作数都为真,条件才为真给定 x=6 以及 y=3时(x < 10 && y > 1) 为 true;||:如果任何两个操作数任何一个为真,条件为真,给定 x=6 以及 y=3时(x==5 || y==5) 为 false;!:为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false给定 x=6 以及 y=3时!(x==y) 为 true;

条件运算符:包含了基于某些条件对变量进行赋值   语法:variablename=(condition)?value1:value2   blob.png如果变量 age 中的值小于 18,则向变量 voteable 赋值 "年龄太小",否则赋值 "年龄已达到"blob.png  blob.png

语句:用于基于不同的条件来执行不同的动作   

if语句:只有当指定条件为 true 时,该语句才会执行代码

语法:if (condition)                 使用小写的 if。使用大写字母(IF)会生成 Java
{                                     Script 错误
    当条件为 true 时执行的代码                 blob.png
}                                                                   当时间小于 20:00 时,生成问候 "Good day"

 if....else 语句:使用 if....else 语句在条件为 true 时执行代码,在条件为 false 时执行其他代码

语法:if (condition)
{
    当条件为 true 时执行的代码         blob.png
}                                  时间小于 20:00 时,生成问候 "Good day",否则
else                                  生成问候 "Good evening"
{
    当条件不为 true 时执行的代码

}

 if....else if...else 语句来选择多个代码块之一来执行

语法:

if (condition1)
{
    当条件 1 为 true 时执行的代码      blob.png
}
else if (condition2)         如果时间小于 10:00,则生成问候 "Good morning",如果时间大于 10:00 小于 
    当条件 2 为 true 时执行的代码 20:00,则生成问候 "Good day",否则生成问候 "Good evening"{
}
else                                 x的结果是:今天好
{
  当条件 1 和 条件 2 都不为 true 时执行的代码
}

switch语句:switch 语句用于基于不同的条件来执行不同的动作,来选择要执行的多个代码块之一,switch语句:首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。请使用 break 来阻止代码自动地向下一个 case 运行

语法:switch(n){      case 1:        执行代码块 1         blob.png        break;    case 2:          x的运行结果:今天是星期二        执行代码块 2        break;    default:        与 case 1case 2 不同时执行的代码}

default关键字:使用 default 关键词来规定匹配不存在时做的事情blob.png

如果今天不是星期六或者星期日,则会使用 default 关键词来规定匹配不存在时做的事情输出默认消息:x的运行结果为期待周末。

 for循环循环可以将代码块执行指定的次数

循环 使一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循环

不同类型的循环:for循环:循环代码块一定的次数

语法:for (语句 1; 语句 2; 语句 3)【语句 1 (代码块)开始前执行

{                        语句 2 定义运行循环(代码块)的条件           
    被执行的代码块          语句 3 在循环(代码块)已被执行之后执行】
}  blob.png  blob.png     点击按钮循环代码5次;在循环开始之前设置变量 (var i=0); 定义循环运行的条件(i 必须小于 5);每次代码块已被执行后增加一个值 (i++)

 通常会使用语句 1 初始化循环中所用的变量 (var i=0),语句 1 是可选的,也就是说不使用语句 1 也可以    可以在语句 1 中初始化任意(或者多个)值   blob.png  blob.png

for/in循环: for/in 语句循环遍历对象的属性:blob.png循环遍历对象 "person" 的属

 while 循环只要指定条件为 true,循环就可以一直执行代码块

语法:while (条件)           只要 i 小于 5 就一直循环代码块
{
    需要执行的代码           blob.png  blob.png

}

do/while 循环是 while 循环的变体。该循环会在检查条件是否为真之前执行一次代码块,然后如果条件为真的话,就会重复这个循环

语法:do{                       只要确认i<5就会一直循环代码块
    需要执行的代码            blob.png}  blob.png
while (条件);

比较 for 循环 while 循环使用 for 循环来显示 cars 数组中的所有值:blob.png    使用 while 循环来显示 cars 数组中的所有值:blob.png

break和continue语句:break 语句用于跳出循环,continue 用于跳过循环中的一个迭代

break 语句跳出循环后,会继续执行该循环之后的代码blob.png

continue语句中断循环中的迭代,如果出现了指定的条件,然后继续循环中的下一个迭代

blob.png  在下面这段代码中会跳过i=3的数字

标签:如需标记  语句,请在语句之前加上冒号:label:statements

break 和 continue 语句仅仅是能够跳出代码块的语句  break labelname; continue labelname;  continue 语句(带有或不带标签引用)只能用在循环中  break 语句(不带标签引用),只能用在循环或 switch 中通过标签引用,break 语句可用于跳出任何  代码块:blob.png blob.png

中的typeof, null, undefined, valueOf()

 typeof 操作符:可以使用 typeof 操作符来检测变量的数据类型blob.png blob.pngtypeof 操作符返回变量或表达式的类型

null:在  中 null 表示 "什么都没有",null是一个只有一个值的特殊类型。表示一个空对象引用     用 typeof 检测 null 返回是objectblob.png  blob.png值为null,但类型为对象;

可以设置为 undefined 来清空对象blob.png  blob.png值为 undefined, 类型为 undefined,在  中, undefined 是一个没有设置值的变量,typeof 一个没有值的变量会返回 undefinedblob.png  blob.png值为 undefined(空), 类型是undefined

ull 和 undefined 的区别:值相等,但类型不等blob.png  blob.png

undefined:是所有没有赋值变量的默认值,自动赋值

null:主动释放一个变量引用的对象,表示一个变量不再指向任何对象地址

类型转换:Number() 转换为数字, String() 转换为字符串, Boolean() 转化为布尔值

constructor 属性来返回所有  变量的构造函数blob.png

可以使用 constructor 属性来查看对象是否为数组 (包含字符串 "Array"):blob.pngblob.png结果为:true  或者可以使用constructor 属性来查看对象是否为日期是否包含字符串“date”blob.png结果为:true

变量可以转换为新变量或其他数据类型:通过使用  函数,通过  自身自动转换;

将数字转换为字符串:全局方法 String() 可以将数字转换为字符串,可用于任何类型的数字,字母,变量,表达式  blob.pngString() 方法可以将数字转换为字符串结果为:123

Number 方法 toString() 也是有同样的效果

将布尔值转换为字符串:全局方法 String() 可以将布尔值转换为字符串  String(false// 返回 "false   String(true)   // 返回 "true"  法 toString() 也有相同的效果  将日期转化为字符串   String(new Date())  // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)   Date 方法 toString() 也有相同的效果  obj = new Date();obj.toString()   // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)   

将字符串转换为数字:全局方法 Number() 可以将字符串转换为数字,字符串包含数字(如 "3.14") 转换为数字 (如 3.14)一般空字符串转换为 0,其他的字符串通常会转化为nan  Number("3.14")  // 返回 3.14  Number(" ")   // 返回 0Number("99 88")// 返回 NaN

一元运算符“+”   Operator + 可用于将变量转换为数字:blob.png  y=string/x=number;如果变量不能转换,它仍然会是一个数字,但值为 NaNblob.png  x=NaN

自动转换类型:当尝试操作一个 "错误" 的数据类型时,会自动转换为 "正确" 的数据类型    5 + null   // 返回 5  null转化为0   "5" + null //返回5null  null转化为"null"

正则表达式:正则表达式是由一个字符序列形成的搜索模式,当在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容或者可以是一个简单的字符,或一个更复杂的模式

语法:var patt = /runoob/i  正则表达式主体/修饰符(可选)

使用字符串方法:在  中,正则表达式通常用于两个字符串方法 : search() 和 replace()

search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置   blob.png  从0开始检索所有n的值为:6 如果匹配不到结果为—1;

search 方法可使用字符串作为参数。字符串参数会转换为正则表达式:var str = "Visit Runoob!"; var n = str.search("Runoob");

reolace()方法使用正则表达式blob.pngblob.png用正则表达式且不区分大小写将字符串中的 Microsoft 替换为 Runoob     reolace()方法使用字符串blob.png点击按钮访问runoobblob.png

正则表达式修饰符 修饰符 可以在全局搜索中不区分大小写: i修饰符:执行执行对大小写不敏感的匹配  g修饰符:执行全局匹配(查找所有匹配而非在找到第一个匹配后停止) m修饰符:执行多行匹配

正则表达式模式:方括号用于查找某个范围内的字符:【abc】查找方括号之间的任何字符,[0-9]

查找任何从 0 至 9 的数字,(x|y)查找任何以 | 分隔的选项

使用test() 方法是一个正则表达式方法,用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 falseblob.png此代码中含有”e“的字样所有结果为:true

使用exec()用于正则表达式方法,用于检索字符串中的正则表达式的匹配blob.png

找到字符串中的正则表达式的匹配所有结果为:e,该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null

标签

评论