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"];

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 时执行的代码
  }

if (条件)
  {
  当条件为 true 时执行的代码
  }
else
  {
  当条件不为 true 时执行的代码
  }

if (条件 1)
  {
  当条件 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 不同时执行的代码
}

36、循环可以将代码块执行制定的次数。

for (语句 1; 语句 2; 语句 3)
  {
  被执行的代码块
  }

语句 1 在循环(代码块)开始前执行

语句 2 定义运行循环(代码块)的条件

语句 3 在循环(代码块)已被执行之后执行

对象的循环遍历使用for/in语句,遍历对象的属性

37、while循环 :制定条件为真时执行代码块

while (条件)
  {
  需要执行的代码
  }

do while 循环: 该循环至少会执行一次,即使条件是 false,隐藏代码块会在条件被测试前执行。

do
  {
  需要执行的代码
  }
while (条件);

38、continue语句只能用在循环中,break语句(不带标签引用),只能用在循环或switch中,通过标签引用时,break语句可用于跳出任何的JS代码块。

39、JS标签 在JS语句前加上冒号:可以对JS语句进行标记

label:
语句

break和continue仅仅是能够跳出代码块的语句。

break 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);

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:"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;
}
  • 可以把属性添加到JS对象
  • 可以把方法添加到JS对象
  • JS循环语句
for (对象中的变量)   循环代码块将针对每个属性执行一次
  {
  要执行的代码
  }

51、JS 数字类型Number,只有一种,可以有小数点也可以没有,所有JS数字均为64位

  • 数字前面加0表示是八进制数字
  • 数字前面加0x表示是十六进制数字

数字的属性有:

  1. MAX VALUE   JS中可表示的最大值 它的近似值为 1.7976931348623157 x 10308
  2. MIN VALUE    JS中可表示的最小值  (接近 0 ,但不是负数)。它的近似值为 5 x 10-324
  3. NEGATIVE INFINITIVE   负无穷大,溢出时返回该值  它在算术运算或函数生成一个比 JavaScript 能表示的最小负数还小的数
  4. POSITIVE INFINITIVE    正无穷大,溢出时返回该值 表示大于 Number.MAX_VALUE 的值
  5. NaN      非数字值 该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。说明某些算术运算(如求负数的平方根)的结果不是数字
  6. prototype   使您有能力向对象添加属性和方法
  7. constructor    返回对创建此对象的 Number 函数的引用,其实是对象的类型
       
Number对象的方法:

  1. toExponential()   把对象的值转换为指数计数法 规定指数计数法中的小数位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将使用尽可能多的数字。
  2. toFixed()    把数字转换为字符串,结果的小数点后有指定位数的数字 规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。
  3. toPrecision()   可在对象的值超出指定位数时将其转换为指数计数法。
  4. toString()   把数字转换为字符串,使用指定的基数  基数为 2 ~ 36 之间的整数。若省略该参数,则使用基数 10
  5. valueOf()    返回一个 Number 对象的基本数字值
  6. 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(element0element1, ..., 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个):

  1. Math.E 属性代表算术常量 e,即自然对数的底数,其值近似于 2.71828。
  2. LN2 属性就是 loge2,即 2 的自然对数,其值近似于 0.69314718055994528623。
  3. LN10 属性就是 loge10,即 10 的自然对数,其值近似于 2.3025850929940459011。
  4. LOG2E 属性就是 log2e,即以 2 为底 e 的对数,其值近似于 1.442695040888963387。
  5. LOG10E 属性就是 log
  6. PI 属性就是 π,即圆的周长和它的直径之比。这个值近似为 3.141592653589793。
  7. SQRT1_2 属性返回 2 的平方根的倒数。这个值近似为 0.7071067811865476。
  8. SQRT2 属性返回 2 的平方根。这个值近似为 1.4142135623730951。必须是 -1.0 ~ 1.0 之间的数。

Math对象方法:
  1. abs() 方法可返回数的绝对值。
  2. acos() 方法可返回一个数的反余弦。 参数必须是 -1.0 ~ 1.0 之间的数。返回的值是 0 到 PI 之间的弧度值。如果参数 x 超过了 -1.0 ~ 1.0 的范围,那么浏览器将返回 NaN。
  3. asin() 方法可返回一个数的反正弦值。参数必须是一个数值,该值介于 -1.0 ~ 1.0 之间。返回的值是 -PI/2 到 PI/2 之间的弧度值。 如果参数 x 超过了 -1.0 ~ 1.0 的范围,那么浏览器将返回 NaN。
  4. atan() 方法可返回数字的反正切值。返回的值是 -PI/2 到 PI/2 之间的弧度值。
  5. atan2() 方法可返回从 x 轴到点 (x,y) 之间的角度。是从 X 轴正向逆时针旋转到点 (x,y) 时经过的角度。Y 坐标在 X 坐标之前传递。
  6. ceil() 方法可对一个数进行上舍入。执行的是向上取整计算,它返回的是大于或等于函数参数,并且与之最接近的整数。
  7. cos() 方法可返回一个数字的余弦值。返回的是 -1.0 到 1.0 之间的数。
  8. exp() 方法可返回 e 的 x 次幂的值。
  9. floor() 方法可对一个数进行下舍入。向下取整计算,它返回的是小于或等于函数参数,并且与之最接近的整数
  10. log() 方法可返回一个数的自然对数。参数 x 必须大于 0。
  11. max() 方法可返回两个指定的数中带有较大的值的那个数。如果没有参数,则返回 -Infinity。如果有某个参数为 NaN,或是不能转换成数字的非数字值,则返回 NaN。
  12. min() 方法可返回指定的数字中带有最低值的数字。
  13. pow() 方法可返回 x 的 y 次幂的值。如果结果是虚数或负数,则该方法将返回 NaN。如果由于指数过大而引起浮点溢出,则该方法将返回 Infinity。
  14. random() 方法可返回介于 0 ~ 1 之间的一个随机数。
  15. round() 方法可把一个数字舍入为最接近的整数。对于 0.5,该方法将进行上舍入。
  16. sin() 方法可返回一个数字的正弦。参数为 一个以弧度表示的角。将角度乘以 0.017453293 (2PI/360)即可转换为弧度。
  17. sqrt() 方法可返回一个数的平方根。如果 x 小于 0,则返回 NaN。
  18. tan() 方法可返回一个表示某个角的正切的数字。
  19. toSource() 方法返回表示对象源代码的字符串。
  20. valueOf() 方法返回 Math 对象的原始值。

函数方法:
  • round:对一个数进行四舍五入
    document.write(Math.round(4.7))
  • random 返回一个介于0和1之间的随机数
    document.write(Math.random())

56、JS正则表达式(RegExp正则表达式缩写) 对象用于存储检索模式,它是对字符串执行模式匹配的强大工具。
  • 定义RegExp
new RegExp(patternattributes);

参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。

参数 attributes 是一个可选的字符串,包含属性"g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配

RegExp对象的属性:
  1. global 属性用于返回正则表达式是否具有标志 "g" 如果 g 标志被设置,则该属性为 true,否则为 false。
  2. ignoreCase 属性规定是否设置 "i" 标志 如果设置了 "i" 标志,则返回 true,否则返回 false。
  3. lastIndex 属性用于规定下次匹配的起始位置。它声明的是上一次匹配文本之后的第一个字符的位置。
  4. multiline 属性用于返回正则表达式是否具有标志 m。它声明了给定的正则表达式是否以多行模式执行模式匹配。
  5. source 属性用于返回模式匹配所用的文本。

RegExp对象的方法:
  1. compile() 方法用于在脚本执行过程中编译正则表达式,也可用于改变和重新编译正则表达式。
  2. RegExp方法 test()检索字符串中的指定值,返回true或者false
  3. exec()检索字符串中的指定值,返回值是被找到的值,如果没有匹配,则返回null

57、JS字符串对象:

创建string对象:
new String(s);
String(s);

string对象的属性:
  1. constructor 返回对象或函数的类型
  2. prototype  允许向对象添加属性和方法
  3. length  字符串的长度

string对象方法:
  1. anchor() 方法用于创建 HTML 锚。 
  2. big() 方法用于把字符串显示为大号字体。 
  3. blink() 方法用于显示闪动的字符串。
  4. bold() 方法用于把字符串显示为粗体。
  5. charAt() 方法可返回指定位置的字符。字符串中第一个字符的下标是 0。如果参数 不在 0 与 string.length 之间,该方法将返回一个空字符串。
  6. charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。方法 charCodeAt() 与 charAt() 方法执行的操作相似,只不过前者返回的是位于指定位置的字符的编码,而后者返回的是字符子串。如果 index 是负数,或大于等于字符串的长度,则 charCodeAt() 返回 NaN。
  7. concat() 方法用于连接两个或多个字符串。concat() 方法将把它的所有参数转换成字符串,然后按顺序连接到字符串 stringObject 的尾部,并返回连接后的字符串。请注意,stringObject 本身并没有被更改。
  8. fixed() 方法用于把字符串显示为打字机字体。
  9. fontcolor() 方法用于按照指定的颜色来显示字符串。参数必须是颜色名(red)、RGB 值(rgb(255,0,0))或者十六进制数(#FF0000)。
  10. fontsize() 方法用于按照指定的尺寸来显示字符串。参数必须是从 1 至 7 的数字。
  11. fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串。字符串中的每个字符都由单独的数字 Unicode 编码指定。它不能作为您已创建的 String 对象的方法来使用。
  12. indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。该方法将从头到尾地检索字符串 stringObject,看它是否含有子串。如果要检索的字符串值没有出现,则该方法返回 -1。
  13. italics() 方法用于把字符串显示为斜体。
  14. lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。
  15. link() 方法用于把字符串显示为超链接。
  16. localecompare用本地特定的顺序来比较两个字符串。如果 stringObject 小于 target,则 localeCompare() 返回小于 0 的数。如果 stringObject 大于 target,则该方法返回大于 0 的数。如果两个字符串相等,或根据本地排序规则没有区别,该方法返回 0。
  17. match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。
  18. replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。返回值是一个新的字符串。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。
  19. search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。search() 方法不执行全局匹配,它将忽略标志 g。它同时忽略 regexp 的 lastIndex 属性,并且总是从字符串的开始进行检索,这意味着它总是返回 stringObject 的第一个匹配的位置。要执行忽略大小写的检索,请追加标志 i。
  20. slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符。
  21. small() 方法用于把字符串显示为小号字。
  22. split() 方法用于把一个字符串分割成字符串数组。
  23. strike() 方法用于显示加删除线的字符串。
  24. sub()把字符串显示为下标
  25. sup()把字符串显示为上标
  26. substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。
  27. substring() 方法用于提取字符串中介于两个指定下标之间的字符。该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减start返回的子串包括 start 处的字符,但不包括 stop 处的字符。
  28. toLocaleLowerCase() 方法用于把字符串转换为小写。与 toLowerCase() 不同的是,toLocaleLowerCase() 方法按照本地方式把字符串转换为小写。只有几种语言(如土耳其语)具有地方特有的大小写映射,所有该方法的返回值通常与 toLowerCase() 一样。
  29. toLowerCase() 方法用于把字符串转换为小写。
  30. toLocaleUpperCase() 方法用于把字符串转换为大写。按照本地方式把字符串转换为大写。只有几种语言(如土耳其语)具有地方特有的大小写映射,所有该方法的返回值通常与 toUpperCase() 一样。
  31. toUpperCase() 方法用于把字符串转换为大写
  32. toString() 方法返回字符串。tringObject 的原始字符串值。一般不会调用该方法。
  33. valueOf() 方法可返回 String 对象的原始值。

注意事项:
需要注意的是,JavaScript 的字符串是不可变的(immutable),String 类定义的方法都不能改变字符串的内容。像 String.toUpperCase() 这样的方法,返回的是全新的字符串,而不是修改原始字符串。

58、JS全局对象

全局函数:
  1. decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。
  2. decodeURIComponent() 函数可对 encodeURIComponent() 函数编码的 URI 进行解码。
  3. encodeURI() 函数可把字符串作为 URI 进行编码。其中的某些字符将被十六进制的转义序列进行替换。如果 URI 组件中含有分隔符,比如 ? 和 #,则应当使用 encodeURIComponent() 方法分别对各组件进行编码。
  4. encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。
  5. escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。
  6. unescape() 函数可对通过 escape() 编码的字符串进行解码。
  7. eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
  8. getClass() 函数可返回一个 JavaObject 的 JavaClass。
  9. isFinite() 函数用于检查其参数是否是无穷大。如果 number 是有限数字(或可转换为有限数字),那么返回 true。否则,如果 number 是 NaN(非数字),或者是正、负无穷大的数,则返回 false。
  10. isNaN() 函数用于检查其参数是否是非数字值。isNaN() 函数可用于判断其参数是否是 NaN,该值表示一个非法的数字
  11. Number() 函数把对象的值转换为数字。如果参数是 Date 对象,Number() 返回从 1970 年 1 月 1 日至今的毫秒数。如果对象的值无法转换为数字,那么 Number() 函数返回 NaN。
  12. parseFloat() 函数可解析一个字符串,并返回一个浮点数。该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,如果参数字符串的第一个字符不能被解析成为数字,则 parseFloat 返回 NaN。
  13. parseInt() 函数可解析一个字符串,并返回一个整数。
  14. String() 函数把对象的值转换为字符串。

全局属性:
  1. Infinity 属性用于存放表示正无穷大的数值。
  2. NaN 属性用于引用特殊的非数字值。请使用 isNaN() 来判断一个值是否是数字。原因是 NaN 与所有值都不相等,包括它自己。
  3. undefined 属性用于存放 JavaScript 的 undefined 值。当尝试读取不存在的对象属性时也会返回 undefined。null 表示无值,而 undefined 表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性。
  4. java就是一个 JavaPackage 对象,它表示 java.* 包层级。这个属性的存在意味着像 java.util 这样的一个 JavaScript 表示式引用的是 java.util 包。
  5. Packages 根 JavaPackage。

59、JS全局事件
事件通常与函数配合使用,这样就可以通过发生的事件来驱动函数执行。

60、window对象BOM(Browser Object Model 浏览器对象模型) :浏览器中打开的窗口

所有的JS全局对象 函数以及变量均自动成为window对象的成员。甚至HTML DOM的document也是window对象的属性之一。

window对象属性:

  1. closed 属性可返回一个布尔值,该值声明了窗口是否已经关闭。当浏览器窗口关闭时,表示该窗口的 Windows 对象并不会消失,它将继续存在,不过它的 closed 属性将设置为 true。
  2. defaultStatus 属性可设置或返回窗口状态栏中的默认文本。
  3. 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
原创粉丝点击