w3cshcool JS学习笔记
来源:互联网 发布:知乎为什么有那么多985 编辑:程序博客网 时间:2024/06/05 20:26
1、JS能够直接写入html输出流中,document.write 只能在输出流中使用
2、JS可以对html标签里的事件做出反应,alert函数在JS中并不常用,但这个函数对于代码的测试非常方便。
3、JS可以改变html标签里的内容,使用x.innerHTML方法改变,x为被改变的对象。DOM(文档对象模型)是访问html元素的正式w3c标准。
4、JS能够改变html图像,可以通过改变图像的来源,改变图像。JS能够改变任意html元素的大多数属性,而不仅仅是图片。
5、JS可以改变元素的样式,属于改变元素属性的变种。
6、isNaN() 函数用于检查其参数是否是非数字值。JS可以验证用户的输入。
7、html的脚本位置是页面的body和head部分中,也可以同时存在这两个部分中,脚本放在<script></script>之间。
8、通常是在某个事件发生时执行代码,一般做法是把代码放入函数中,然后在事件发生时调用该函数。
9、可以将js脚本保存在外部文件中,外部文件中通常包含被多个网页使用的代码。外部JS文件的扩展名是.js,需要使用外部js文件时,在script标签中设置src属性,外部脚本是不能包含script标签的。
10、JS脚本是由外部浏览器来执行的,浏览器按照js代码的编写顺序来执行语句。而对于传统编程,会在代码执行前对所有代码进行编译。
11、分号用于分隔javascript语句,一般在每条可执行的语句结尾都添加分号,可以在一行中编写多条语句,用分号结束语句是可选的。
12、JS代码块,花括号开始花括号结束,块的作用是使语句序列一起执行。
13、JS对大小写是敏感的,编写代码时留意大小写。
14、JS会忽略多余的空格,可以在代码中增加空格,来提高其可读性。
15、使用\对代码进行折行
16、JS代码的注释样式: 单行注释标识为 //
多行注释标识以 /*开始,以*/结束
可以使用注释让某行语句或某代码块不执行,来进行代码的调试
17、JS变量是用于存放数值、文本和表达式的,变量必须以字母开头,也可以以$和_开头(不推荐),变量名称对大小写是敏感的。
18、JS变量值是数字,不需要要引号;值如果是文本,需要用单引号或双引号包围。
19、JS 变量的声明使用var,使用=对其进行赋值,没有经过赋值的变量,其值是undefined
20、字符串可以用单引号或者双引号,只要不匹配包围字符串的引号即可
21、JS的数字是可以带小数点的,也可以不带,可以用科学计数法来书写
22、JS包含布尔型数据,只有两个值:true或者false
23、JS里面的数组变量下标是从0开始的,第一个变量下标是0,第二个是1,以此类推。
24、JS对象由花括号分隔,括号内部以名称和值对的形式来定义,属性由逗号隔开。
var person={firstname:"Bill", lastname:"Gates", id:5566};
对象属性的寻址方式有两种:
name=person.lastname;
name=person["lastname"];
name=person["lastname"];
25、undefined表示变量不含有值,缺少值,就是此处应该有一个值,但是还没有定义
(1)变量被声明了,但没有赋值时,就等于undefined。
(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。
(3)对象没有赋值的属性,该属性的值为undefined。
(4)函数没有返回值时,默认返回undefined。
26、null表示没有对象,即该处不该有值。
27、JS的变量均为对象,当你声明一个变量时,就在创建一个新的对象,对象是拥有属性和方法的数据。
28、属性是与对象相关的值,比如汽车的名称,型号,重量,颜色等;方法是指能够在对象上执行的操作,比如汽车的方法有启动,驾驶,刹车等。
29、访问对象属性的语法是:
objectName.propertyName
30、访问对象方法的语法是:
objectName.methodName()
31、在面向对象的语言中,使用camel-case的方法进行标记,第一个单词小写,第二个单词首字母大写。例如someMethod()这样的名称。
32、JS变量的生存期:
- 局部变量:在JS函数内部声明的变量是局部变量,只能在函数内部访问它。可以在不同的函数中使用名称相同的局部变量,只要函数运行完毕,本地变量就会被删除。
- 全局变量:在JS函数外声明的变量是全局变量,网页上所有的脚本和函数都能访问它。全局变量会在页面关闭后被删除。
- 如果某一变量未声明就直接赋值,那么该变量自动被识别为全局变量。
33、JS里的算数运算符有 + - * / % ++ --, 赋值运算符有= += -= *= /= %=
用于字符串的+运算符,把文本值或字符变量连接起来
如果把数字与字符串相加,结果将成为字符串。
比较运算符:测试变量或值是否相等。== 等于 ===全等(值和类型都相等) !=不等于 >大于 <小于 >= 大于等于 <=小于等于
逻辑运算符:用于测定变量或值之间的逻辑 && (and) ||(or) !(not)
条件运算符:基于某些条件对变量进行赋值。
variablename=(condition)?value1:value2
34、条件语句用于基于不同的条件来执行不同的动作。
if (条件)
{
只有当条件为 true 时执行的代码
}
{
只有当条件为 true 时执行的代码
}
if (条件)
{
当条件为 true 时执行的代码
}
else
{
当条件不为 true 时执行的代码
}
{
当条件为 true 时执行的代码
}
else
{
当条件不为 true 时执行的代码
}
if (条件 1)
{
当条件 1 为 true 时执行的代码
}
else if (条件 2)
{
当条件 2 为 true 时执行的代码
}
else
{
当条件 1 和 条件 2 都不为 true 时执行的代码
}
{
当条件 1 为 true 时执行的代码
}
else if (条件 2)
{
当条件 2 为 true 时执行的代码
}
else
{
当条件 1 和 条件 2 都不为 true 时执行的代码
}
35、switch语句:先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。请使用 break 来阻止代码自动地向下一个 case 运行, default 关键词来规定匹配不存在时做的事情。
switch(n)
{
case 1:
执行代码块 1
break;
case 2:
执行代码块 2
break;
default:
n 与 case 1 和 case 2 不同时执行的代码
}
{
case 1:
执行代码块 1
break;
case 2:
执行代码块 2
break;
default:
n 与 case 1 和 case 2 不同时执行的代码
}
36、循环可以将代码块执行制定的次数。
for (语句 1; 语句 2; 语句 3)
{
被执行的代码块
}
{
被执行的代码块
}
语句 1 在循环(代码块)开始前执行
语句 2 定义运行循环(代码块)的条件
语句 3 在循环(代码块)已被执行之后执行
对象的循环遍历使用for/in语句,遍历对象的属性
37、while循环 :制定条件为真时执行代码块
while (条件)
{
需要执行的代码
}
{
需要执行的代码
}
do while 循环: 该循环至少会执行一次,即使条件是 false,隐藏代码块会在条件被测试前执行。
do
{
需要执行的代码
}
while (条件);
{
需要执行的代码
}
while (条件);
38、continue语句只能用在循环中,break语句(不带标签引用),只能用在循环或switch中,通过标签引用时,break语句可用于跳出任何的JS代码块。
39、JS标签 在JS语句前加上冒号:可以对JS语句进行标记
label:
语句
语句
break和continue仅仅是能够跳出代码块的语句。
break labelname;
continue labelname;
continue labelname;
40、try语句测试代码块的错误,catch语句处理错误,throw语句创建自定义的错误(系统有一些定义的错误,但throw为我们提供了自定义错误的机会)。
41、JS表单验证,可以用在数据被送往服务器前对html表单中的这些输入数据进行验证:是否已填写必填项目,输入邮件地址是否合法,输入日期是否合法,是否在数据域输入了文本。
42、HTML DOM(文档对象模型),当网页被加载时,浏览器会创建页面的文档对象模型(document object model)。为了操作html元素,必须首先找到该元素,有三种方法找到该元素:通过id,通过标签名,通过类名。
43、HTML DOM允许JS改变html元素的内容。
document.getElementById(id).innerHTML=new HTML
改变html的属性:
document.getElementById(id).attribute=new value
44、HTML DOM允许JS改变html元素的样式
document.getElementById(id).style.property=new style
45、HTML DOM允许JS有能力对HTML事件做出反应。
html事件的例子:
- 用户点击鼠标时
- 当网页已加载时
- 当鼠标移动到元素上时
- 当输入字段被改变时
- 当提交html表单时
- 当用户触发按键时
46、onload和unonload事件是在用户进入或离开页面时被触发。 onload 事件可用于检测访问者的浏览器类型和浏览器版本,并基于这些信息来加载网页的正确版本。
47、onchange常结合对输入字段的验证来使用。
48、onmouseover 和 onmouseout 事件可用于在用户的鼠标移至 HTML 元素上方或移出元素时触发函数。
49、添加和删除节点(HTML元素),如需向HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一个已存在的元素追加该元素。
向某一元素追加节点的语句为:
para.appendChild(node);
从父元素中删除子元素:
parent.removeChild(child);
更快找到父元素,删除子元素的语句为:
var child=document.getElementById("p1");
child.parentNode.removeChild(child);
child.parentNode.removeChild(child);
50、JS对象
- JS本身就提供很多内建对象,比如string、Date、Array等
- 对象是带有属性和方法的特殊数据类型
- 访问对象属性的方法:
objectName.propertyName
- 访问对象的方法:
objectName.methodName()
- 创建JS对象:创建直接的实例、使用对象构造器创建对象
person=new Object();
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";
person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};
function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
}
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
}
- 可以把属性添加到JS对象
- 可以把方法添加到JS对象
- JS循环语句
for (对象中的变量) 循环代码块将针对每个属性执行一次
{要执行的代码
}
51、JS 数字类型Number,只有一种,可以有小数点也可以没有,所有JS数字均为64位
- 数字前面加0表示是八进制数字
- 数字前面加0x表示是十六进制数字
数字的属性有:
- MAX VALUE JS中可表示的最大值 它的近似值为 1.7976931348623157 x 10308
- MIN VALUE JS中可表示的最小值 (接近 0 ,但不是负数)。它的近似值为 5 x 10-324
- NEGATIVE INFINITIVE 负无穷大,溢出时返回该值 它在算术运算或函数生成一个比 JavaScript 能表示的最小负数还小的数
- POSITIVE INFINITIVE 正无穷大,溢出时返回该值 表示大于 Number.MAX_VALUE 的值
- NaN 非数字值 该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。说明某些算术运算(如求负数的平方根)的结果不是数字
- prototype 使您有能力向对象添加属性和方法
- constructor 返回对创建此对象的 Number 函数的引用,其实是对象的类型
Number对象的方法:
- toExponential() 把对象的值转换为指数计数法 规定指数计数法中的小数位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将使用尽可能多的数字。
- toFixed() 把数字转换为字符串,结果的小数点后有指定位数的数字 规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。
- toPrecision() 可在对象的值超出指定位数时将其转换为指数计数法。
- toString() 把数字转换为字符串,使用指定的基数 基数为 2 ~ 36 之间的整数。若省略该参数,则使用基数 10
- valueOf() 返回一个 Number 对象的基本数字值
- toLocaleString() 方法可把一个 Number 对象转换为本地格式的字符串。
52、JS日期 Date()方法获得当日的日期,getTime返回从1970年1月1日至今的毫秒数,setFullYear(年,月,日)(注意表示月份的参数是0-11之间,因此实际的月份是参数的数字加1)设置特定的日期,toUTCString将当日的日期转换为字符串,getDay()和数组结合显示星期,而不仅仅是数字
- 定义日期 var myDate=
new
Date()
- 操作日期 通过日期对象的方法对日期进行操作
- 日期之间也可以进行比较,比如if (myDate>today)
Date对象属性:
- constructor 返回创建此对象的类型
- prototype 向对象添加属性和方法
Date对象方法(48个):
- Date() 返回当日的日期和时间
- getDate() 返回一月中的某一天(1~31)
- getDay() 方法可返回表示星期的某一天的数字。返回值是 0(周日) 到 6(周六) 之间的一个整数。
- getMonth() 方法可返回表示月份的数字。返回值是 0(一月) 到 11(十二月) 之间的一个整数。
- getFullYear() 方法可返回一个表示年份的 4 位数字。返回值是一个四位数,表示包括世纪值在内的完整年份,而不是两位数的缩写形式。
- etYear() 方法可返回表示年份的两位或四位的数字。对于介于 1900 与 1999 之间的年份,getYear() 方法仅返回两位数字。对于 1900 之前或 1999 之后的年份,则返回 4 位数字!
- getHours() 方法可返回时间的小时字段。返回值是 0 (午夜) 到 23 (晚上 11 点)之间的一个整数。如果该值小于 10,则仅返回一位数字。
- getMinutes() 方法可返回时间的分钟字段。返回值是 0 ~ 59 之间的一个整数,如果该值小于 10,则仅返回一位数字。
- getSeconds() 方法可返回时间的秒。返回值是 0 ~ 59 之间的一个整数。
- getMilliseconds() 方法可返回时间的毫秒。返回值是 0 ~ 999 之间的一个整数。如果该值小于 100,则仅返回两位数字,如果该值小于 10,则仅返回一位数字。
- getTime() 方法可返回距 1970 年 1 月 1 日之间的毫秒数。
- getTimezoneOffset() 方法可返回格林威治时间和本地时间之间的时差,以分钟为单位。
- getUTCDate() 方法可根据世界时返回一个月 (UTC) 中的某一天。返回该月中的某一天 (是 1 ~ 31 中的一个值)
- getUTCMinutes() 方法可根据世界时 (UTC) 返回时间的分钟字段。
- getUTCSeconds() 方法可根据世界时返回时间的秒。
- getUTCMilliseconds() 方法可根据世界时 (UTC) 返回时间的毫秒。
- parse() 方法可解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数。
- setDate() 方法用于设置一个月的某一天。该方法什么都不返回。
- setMonth() 方法用于设置月份。
- setFullYear() 方法用于设置年份。返回调整过的日期的毫秒表示。
- setYear() 方法用于设置年份。如果 year 参数是两位的数字,比如 setYear(91),则该方法会理解为 1991。如果要规定 1990 年之前或 1999 年之后的年份,请使用四位数字。
- setHours() 方法用于设置指定的时间的小时字段。
- setMinutes() 方法用于设置指定时间的分钟字段。
- setSeconds()设置指定的秒字段
- setMilliseconds() 方法用于设置指定时间的毫秒字段。
- setTime() 方法以毫秒设置 Date 对象。
- setUTCDate()、setUTCMonth()、setUTCFullYear()、 setUTCHours()、 setUTCMinutes()、 setUTCSeconds()、 setUTCMilliseconds()
- toSource() 方法返回表示对象源代码的字符串。 该方法在 Internet Explorer 中无效
- toString() 方法可把 Date 对象转换为字符串,并返回结果。
- toTimeString() 方法可把 Date 对象的时间部分转换为字符串,并返回结果。没有日月年部分
- toDateString() 方法可把 Date 对象的日期部分转换为字符串,并返回结果。
- toGMTString() 方法可根据格林威治时间 (GMT) 把 Date 对象转换为字符串,并返回结果。不赞成使用此方法。请使用 toUTCString() 取而代之!!
- oUTCString() 方法可根据世界时 (UTC) 把 Date 对象转换为字符串,并返回结果。
- toLocaleString() 方法可根据本地时间把 Date 对象转换为字符串,并返回结果。
- toLocaleTimeString() 方法可根据本地时间把 Date 对象的时间部分转换为字符串,并返回结果。
- toLocaleDateString() 方法可根据本地时间把 Date 对象的日期部分转换为字符串,并返回结果。
- UTC() 方法可根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。
- valueOf() 方法返回 Date 对象的原始值。date 的毫秒表示。返回值和方法 Date.getTime 返回的值相等。
53、JS数组 用于在单个变量中存储多个值
- 定义数组
var myArray=new Array()
new Array(size); 如果没有赋值,那么函数返回值为具有指定个数,元素值为undefined的数组
new Array(element0, element1, ..., elementn);- 访问数组document.write(mycars[0])
- 修改已有数组中的值,直接进行修改即可
mycars[0]="Opel";
- 数组的属性 length,也可通过length改变数组的size
- 数组的属性 prototype 使您有能力向对象添加属性和方法。object.prototype.name=value
- 数组属性 constructor 返回对创建此对象的函数的引用类型,如果是自定义的函数,将返回自定义函数定义
object.constructor
- 数组方法 concat()连接两个或多个数组arrayObject.concat(arrayX,arrayX,......,arrayX) 返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。
- 数组方法 join() 把数组中所有元素放入一个字符串,元素通过指定的分隔符进行分隔
arrayObject.join(separator) 不写分隔符,默认是逗号
- 数组方法pop() 删除并返回数组的最后一个元素
arrayObject.pop() 删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。
- 数组方法push()向数组末尾添加一个或者多个元素,并返回新的长度
arrayObject.push(newelement1,newelement2,....,newelementX) push() 方法可把它的参数顺序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是创建一个新的数组。push() 方法和 pop() 方法使用数组提供的先进后出栈的功能。
要想数组的开头添加一个或多个元素,请使用 unshift() 方法
- 数组方法 reverse 颠倒数组中元素的顺序
arrayObject.reverse() 该方法会改变原来的数组,而不会创建新的数组。
- 数组方法 shift 把数组的第一个元素删除,并返回第一个数组的值
arrayObject.shift() 如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。请注意,该方法不创建新数组,而是直接修改原有的 arrayObject。
- 数组方法 slice()从已有的数组中返回选定的元素,返回从start到end的数组元素,不包括end
arrayObject.slice(start,end) start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
- 数组方法 sort 用于对数组元素进行排序
arrayObject.sort(sortby)
- 数组方法 splice 向/从数组中添加/删除项目,然后返回被删除的项目 会改变原数组
arrayObject.splice(index,howmany,item1,.....,itemX)
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX 可选。向数组添加的新项目。
- 数组方法 toString 把数组转换成字符串
- 数组方法 toLoaclString 把数组转换成本地字符串
- unshift 向数组的开头添加一个或更多元素,并返回新的长度。
arrayObject.unshift(newelement1,newelement2,....,newelementX)
54、JS逻辑(Boolean)对象 用于将非逻辑值转换为逻辑值true或者false
- 创建Boolean对象 var myBoolean=new Boolean()
- 如果逻辑对象无初始值或者其值为 0、-0、null、""、false、undefined 或者 NaN,那么对象的值为 false。否则,其值为 true(即使当自变量为字符串 "false" 时)!
- 如果逻辑对象初始值为1、true或者非空字符串,那么其值为true
Boolean对象 属性:
- constructor 返回对创建此对象的boolean函数的引用 就是对象的类型
- prototype 使有能力向对象添加属性和方法
object.prototype.name=value
Boolean对象方法:
- toSource 返回该对象的源代码
- toString 把逻辑值转换成字符串
booleanObject.toString()
- valueOf 返回Boolean对象的原始值
55、JS算数对象,其作用是执行常见的算数任务 提供多种数值类型和函数,无须在使用对象前对它进行定义。没有构造函数 Math(),像 Math.sin() 这样的函数只是函数,不是某个对象的方法。
Math对象的属性值(8个):
- Math.E 属性代表算术常量 e,即自然对数的底数,其值近似于 2.71828。
- LN2 属性就是 loge2,即 2 的自然对数,其值近似于 0.69314718055994528623。
- LN10 属性就是 loge10,即 10 的自然对数,其值近似于 2.3025850929940459011。
- LOG2E 属性就是 log2e,即以 2 为底 e 的对数,其值近似于 1.442695040888963387。
- LOG10E 属性就是 log
- PI 属性就是 π,即圆的周长和它的直径之比。这个值近似为 3.141592653589793。
- SQRT1_2 属性返回 2 的平方根的倒数。这个值近似为 0.7071067811865476。
- SQRT2 属性返回 2 的平方根。这个值近似为 1.4142135623730951。必须是 -1.0 ~ 1.0 之间的数。
Math对象方法:
- abs() 方法可返回数的绝对值。
- acos() 方法可返回一个数的反余弦。 参数必须是 -1.0 ~ 1.0 之间的数。返回的值是 0 到 PI 之间的弧度值。如果参数 x 超过了 -1.0 ~ 1.0 的范围,那么浏览器将返回 NaN。
- asin() 方法可返回一个数的反正弦值。参数必须是一个数值,该值介于 -1.0 ~ 1.0 之间。返回的值是 -PI/2 到 PI/2 之间的弧度值。 如果参数 x 超过了 -1.0 ~ 1.0 的范围,那么浏览器将返回 NaN。
- atan() 方法可返回数字的反正切值。返回的值是 -PI/2 到 PI/2 之间的弧度值。
- atan2() 方法可返回从 x 轴到点 (x,y) 之间的角度。是从 X 轴正向逆时针旋转到点 (x,y) 时经过的角度。Y 坐标在 X 坐标之前传递。
- ceil() 方法可对一个数进行上舍入。执行的是向上取整计算,它返回的是大于或等于函数参数,并且与之最接近的整数。
- cos() 方法可返回一个数字的余弦值。返回的是 -1.0 到 1.0 之间的数。
- exp() 方法可返回 e 的 x 次幂的值。
- floor() 方法可对一个数进行下舍入。向下取整计算,它返回的是小于或等于函数参数,并且与之最接近的整数
- log() 方法可返回一个数的自然对数。参数 x 必须大于 0。
- max() 方法可返回两个指定的数中带有较大的值的那个数。如果没有参数,则返回 -Infinity。如果有某个参数为 NaN,或是不能转换成数字的非数字值,则返回 NaN。
- min() 方法可返回指定的数字中带有最低值的数字。
- pow() 方法可返回 x 的 y 次幂的值。如果结果是虚数或负数,则该方法将返回 NaN。如果由于指数过大而引起浮点溢出,则该方法将返回 Infinity。
- random() 方法可返回介于 0 ~ 1 之间的一个随机数。
- round() 方法可把一个数字舍入为最接近的整数。对于 0.5,该方法将进行上舍入。
- sin() 方法可返回一个数字的正弦。参数为 一个以弧度表示的角。将角度乘以 0.017453293 (2PI/360)即可转换为弧度。
- sqrt() 方法可返回一个数的平方根。如果 x 小于 0,则返回 NaN。
- tan() 方法可返回一个表示某个角的正切的数字。
- toSource() 方法返回表示对象源代码的字符串。
- valueOf() 方法返回 Math 对象的原始值。
函数方法:
- round:对一个数进行四舍五入document.write(
Math.round(4.7)
)
- random 返回一个介于0和1之间的随机数document.write(
Math.random()
)
56、JS正则表达式(RegExp正则表达式缩写) 对象用于存储检索模式,它是对字符串执行模式匹配的强大工具。
- 定义RegExp
new RegExp(pattern, attributes);
参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。
参数 attributes 是一个可选的字符串,包含属性"g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。
RegExp对象的属性:
- global 属性用于返回正则表达式是否具有标志 "g"。 如果 g 标志被设置,则该属性为 true,否则为 false。
- ignoreCase 属性规定是否设置 "i" 标志。 如果设置了 "i" 标志,则返回 true,否则返回 false。
- lastIndex 属性用于规定下次匹配的起始位置。它声明的是上一次匹配文本之后的第一个字符的位置。
- multiline 属性用于返回正则表达式是否具有标志 m。它声明了给定的正则表达式是否以多行模式执行模式匹配。
- source 属性用于返回模式匹配所用的文本。
RegExp对象的方法:
- compile() 方法用于在脚本执行过程中编译正则表达式,也可用于改变和重新编译正则表达式。
- RegExp方法 test()检索字符串中的指定值,返回true或者false、
- exec()检索字符串中的指定值,返回值是被找到的值,如果没有匹配,则返回null
57、JS字符串对象:
创建string对象:
new String(s);
String(s);
String(s);
string对象的属性:
- constructor 返回对象或函数的类型
- prototype 允许向对象添加属性和方法
- length 字符串的长度
string对象方法:
- anchor() 方法用于创建 HTML 锚。
- big() 方法用于把字符串显示为大号字体。
- blink() 方法用于显示闪动的字符串。
- bold() 方法用于把字符串显示为粗体。
- charAt() 方法可返回指定位置的字符。字符串中第一个字符的下标是 0。如果参数 不在 0 与 string.length 之间,该方法将返回一个空字符串。
- charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。方法 charCodeAt() 与 charAt() 方法执行的操作相似,只不过前者返回的是位于指定位置的字符的编码,而后者返回的是字符子串。如果 index 是负数,或大于等于字符串的长度,则 charCodeAt() 返回 NaN。
- concat() 方法用于连接两个或多个字符串。concat() 方法将把它的所有参数转换成字符串,然后按顺序连接到字符串 stringObject 的尾部,并返回连接后的字符串。请注意,stringObject 本身并没有被更改。
- fixed() 方法用于把字符串显示为打字机字体。
- fontcolor() 方法用于按照指定的颜色来显示字符串。参数必须是颜色名(red)、RGB 值(rgb(255,0,0))或者十六进制数(#FF0000)。
- fontsize() 方法用于按照指定的尺寸来显示字符串。参数必须是从 1 至 7 的数字。
- fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串。字符串中的每个字符都由单独的数字 Unicode 编码指定。它不能作为您已创建的 String 对象的方法来使用。
- indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。该方法将从头到尾地检索字符串 stringObject,看它是否含有子串。如果要检索的字符串值没有出现,则该方法返回 -1。
- italics() 方法用于把字符串显示为斜体。
- lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。
- link() 方法用于把字符串显示为超链接。
- localecompare用本地特定的顺序来比较两个字符串。如果 stringObject 小于 target,则 localeCompare() 返回小于 0 的数。如果 stringObject 大于 target,则该方法返回大于 0 的数。如果两个字符串相等,或根据本地排序规则没有区别,该方法返回 0。
- match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。
- replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。返回值是一个新的字符串。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。
- search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。search() 方法不执行全局匹配,它将忽略标志 g。它同时忽略 regexp 的 lastIndex 属性,并且总是从字符串的开始进行检索,这意味着它总是返回 stringObject 的第一个匹配的位置。要执行忽略大小写的检索,请追加标志 i。
- slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符。
- small() 方法用于把字符串显示为小号字。
- split() 方法用于把一个字符串分割成字符串数组。
- strike() 方法用于显示加删除线的字符串。
- sub()把字符串显示为下标
- sup()把字符串显示为上标
- substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。
- substring() 方法用于提取字符串中介于两个指定下标之间的字符。该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减start。返回的子串包括 start 处的字符,但不包括 stop 处的字符。
- toLocaleLowerCase() 方法用于把字符串转换为小写。与 toLowerCase() 不同的是,toLocaleLowerCase() 方法按照本地方式把字符串转换为小写。只有几种语言(如土耳其语)具有地方特有的大小写映射,所有该方法的返回值通常与 toLowerCase() 一样。
- toLowerCase() 方法用于把字符串转换为小写。
- toLocaleUpperCase() 方法用于把字符串转换为大写。按照本地方式把字符串转换为大写。只有几种语言(如土耳其语)具有地方特有的大小写映射,所有该方法的返回值通常与 toUpperCase() 一样。
- toUpperCase() 方法用于把字符串转换为大写
- toString() 方法返回字符串。tringObject 的原始字符串值。一般不会调用该方法。
- valueOf() 方法可返回 String 对象的原始值。
注意事项:
需要注意的是,JavaScript 的字符串是不可变的(immutable),String 类定义的方法都不能改变字符串的内容。像 String.toUpperCase() 这样的方法,返回的是全新的字符串,而不是修改原始字符串。
58、JS全局对象
全局函数:
- decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。
- decodeURIComponent() 函数可对 encodeURIComponent() 函数编码的 URI 进行解码。
- encodeURI() 函数可把字符串作为 URI 进行编码。其中的某些字符将被十六进制的转义序列进行替换。如果 URI 组件中含有分隔符,比如 ? 和 #,则应当使用 encodeURIComponent() 方法分别对各组件进行编码。
- encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。
- escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。
- unescape() 函数可对通过 escape() 编码的字符串进行解码。
- eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
- getClass() 函数可返回一个 JavaObject 的 JavaClass。
- isFinite() 函数用于检查其参数是否是无穷大。如果 number 是有限数字(或可转换为有限数字),那么返回 true。否则,如果 number 是 NaN(非数字),或者是正、负无穷大的数,则返回 false。
- isNaN() 函数用于检查其参数是否是非数字值。isNaN() 函数可用于判断其参数是否是 NaN,该值表示一个非法的数字
- Number() 函数把对象的值转换为数字。如果参数是 Date 对象,Number() 返回从 1970 年 1 月 1 日至今的毫秒数。如果对象的值无法转换为数字,那么 Number() 函数返回 NaN。
- parseFloat() 函数可解析一个字符串,并返回一个浮点数。该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,如果参数字符串的第一个字符不能被解析成为数字,则 parseFloat 返回 NaN。
- parseInt() 函数可解析一个字符串,并返回一个整数。
- String() 函数把对象的值转换为字符串。
全局属性:
- Infinity 属性用于存放表示正无穷大的数值。
- NaN 属性用于引用特殊的非数字值。请使用 isNaN() 来判断一个值是否是数字。原因是 NaN 与所有值都不相等,包括它自己。
- undefined 属性用于存放 JavaScript 的 undefined 值。当尝试读取不存在的对象属性时也会返回 undefined。null 表示无值,而 undefined 表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性。
- java就是一个 JavaPackage 对象,它表示 java.* 包层级。这个属性的存在意味着像 java.util 这样的一个 JavaScript 表示式引用的是 java.util 包。
- Packages 根 JavaPackage。
59、JS全局事件
事件通常与函数配合使用,这样就可以通过发生的事件来驱动函数执行。
60、window对象BOM(Browser Object Model 浏览器对象模型) :浏览器中打开的窗口
所有的JS全局对象 函数以及变量均自动成为window对象的成员。甚至HTML DOM的document也是window对象的属性之一。
window对象属性:
- closed 属性可返回一个布尔值,该值声明了窗口是否已经关闭。当浏览器窗口关闭时,表示该窗口的 Windows 对象并不会消失,它将继续存在,不过它的 closed 属性将设置为 true。
- defaultStatus 属性可设置或返回窗口状态栏中的默认文本。
- Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。
61、window.screen 对象包含有关用户屏幕的信息。
62、window.location 获得当前页面的地址URL
63、window.history 对象包含浏览器的历史。
64、window.navigator 对象包含有关访问者浏览器的信息。
65、window.PopeAlert 消息框对象,有三种类型:警告框、确认框、提示框
66、JS计时 我们可以在一个设定的时间间隔后来执行代码,而不是在函数被调用后立即执行
67、cookie对象用来识别用户
68、JS库又叫做JS框架,提供针对常见JS任务的函数,包括动画、DOM操作以及Ajax处理。
69、jQuery prototype(提供用于执行常见web任务的简单API) MoolTools
70、链式语法,允许在同一个对象上执行多个任务的便捷方法。
0 0
- w3cshcool JS学习笔记
- JS学习笔记
- js学习笔记
- js宝典学习笔记
- js学习笔记(一)
- js宝典学习笔记
- Propoty.js学习笔记
- Prototype.js 学习笔记
- JS学习笔记1
- JS学习笔记2
- prototype.js学习笔记
- JS学习笔记
- JS学习笔记1
- prototype.js学习笔记
- js学习笔记
- JS学习笔记一
- JS学习笔记
- js学习笔记
- iOS下将照片保存到相册的三种方法
- 线性回归之最小二乘法
- Git中文学习网站
- 跳台阶以及变态跳台阶问题
- 二进制文件与文本文件的差别?
- w3cshcool JS学习笔记
- Python学习文档
- 数据库设计范式通俗理解
- 磁盘保护原理简介
- caffe的solver理解
- android:scaleType="centerCrop"
- 笔记
- Java---java中构造方法及其作用
- python问题汇总