600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 尚硅谷最新版JavaScript基础全套教程完整版(p79-p90)

尚硅谷最新版JavaScript基础全套教程完整版(p79-p90)

时间:2023-05-30 21:28:49

相关推荐

尚硅谷最新版JavaScript基础全套教程完整版(p79-p90)

尚硅谷最新版JavaScript基础全套教程完整版(140集实战教学,JS从入门到精通)

一、函数的方法

1.call()和 apply()方法

-这两个方法都是函数对象方法,需要通过函数对象来调用

-当对函数调用call和apply方法时,都会调用函数执行

-在调用call和apply时,可以将一个对象指定成第一个参数,此时这个对象将会成为函数执行时的this

-call()方法可以将实参在对象之后依次传递

-apply()方法需要将实参封装到数组中统一传递

2.this的情况

-以函数情况调用时,this的上下文对象是window

-以方法的形式时,this是调用方法的对象

-以构造函数的形式调用时,this是新创建的对象

-以call和apply方法的形式调用时,this是指定的对象

3.arguments()方法

-在调用函数时,浏览器每次都会传进两个隐含的参数,第一个是函数的上下文对象this,第二个是封装实参的对象arguments

-arguments是一个类数组对象(可以用 Array.isArray()方法检查一个对象是不是数组),它也可以通过索引来操作数据,也可以获取长度

-在调用函数时,我们所传递的实参,都会在arguments中保存

-arguments.length可以获取实参的长度,可以通过索引获取实参(arguments[0]表示第一个实参),即使不定义形参,也可以通过arguments来使用实参,只不过比较麻烦。

-它里面有一个属性是callee,这个属性对应一个函数对象,就是当前正在指向的函数对象,arguments.callee == fun 。

二、.Date对象(在JS中,使用date对象来表示时间)

1.创建一个Date对象:

-var d = new Date();

-如果直接使用构造函数创建一个Date对象,则会封装为当前代码执行的时间

2.创建一个指定的时间对象

-需要在构造函数中传递一个表示时间的字符串作为参数:var d2 =new Date(”12/03/“);

-日期的格式 : 月份/日/年 时:分:秒

3.方法

-getDate()方法:获取当前日期对象的日期是一月中的几号

-getDay()方法:获取当前日期对象是星期几,会返回0-6的值,0表示周日,6表示周六

-getMonth()方法:获取当前日期对象是几月,会返回0-11的值,0表示1月,11表示12月

-getFullYear()方法:获取当前日期对象的年份 ,是一个四位数字。

-getTime()方法: 时间戳:返回从格林威治标准时间 1970 年 1 月 1 日0时0分0秒至今的毫秒数,计算机底层在保存时间时都是使用时间戳。

4.获取当前的时间戳,利用时间戳测试代码执行的性能

-time = Date.now(); 代码执行时那一刻的时间戳

三、Math对象

1.Math

-Math和其他的对象不同,它不是构造函数,它属于工具类不用创建对象,它里面封装了数学运算相关的属性和方法

2.W3SCHOOL属性

W3SCHOOL里的Math对象属性

3.方法

-Math.abs();:求一个数的绝对值

-Math.ceil(); : 对一个数上舍入,即对一个数向上取整,小数位只要有值,就自动进1

-Math.floor(); :对一个数向下取整,小数部分会被舍掉

-Math.round();:可以对一个数四舍五入取整

-Math.random(); :可以生成一个0-1之间的随机数 ,如果要生成0-10的随机数,Math.round(Math.random() * 10) ,

-生成一个0-x之间的随机数,Math.round(Math.random() * x) ,

-生成一个x-y之间的随机数,Math.round(Math.random() * (y-x) +x)

-Math.max();:可以获取多个值之间的最大值

-Math.min();:可以获取多个值之间的最小值

-Math.pow(x,y) :可以返回x的y次幂

四、包装类

1.数据类型

-数据类型分为两大类:基本数据类型 和 引用数据类型

-在JS中,为我们提供了三个包装类,通过这三个包装类可以将基本数据类型转换为对象

2.三个包装类

-String() : 可以将一个基本数据类型字符串转换成String对象

-Number() :可以将一个基本数据类型数值转换为Number对象

-Boolean():可以将一个基本数据类型数值转换为Boolean对象

-注意:我们在实际应用中,不会使用基本数据类型的对象,如果使用基本数据类型的对象,在做一些比较时,可能会带来一些不可预期的结果

-方法和属性只能添加给对象,不能添加给基本数据类型

-当我们对一些基本数据类型的值调用属性和方法时,浏览器会临时使用包装类将其转换为对象,然后再调用对象的属性和方法,调用完了以后,再将其转换为基本数据类型

五、字符串的方法

1.在底层,字符串是以字符数组的形式保存的

2.charAt()

-可以返回字符串中指定位置的字符,根据索引获得指定的字符

3.charCodeAt()

-可以返回字符串中指定位置的字符的Unicode编码 语法 str.charCodeAt(5);

4.fromCharCode()

-可以根据字符编码获取字符 语法: result = string.fromCharCode(72); 这个是根据string()构造函数来使用的

5.indexOf(“h”,2)

-该方法可以检索一个字符串中是否含有指定内容

-如果字符串中含有该内容,则会返回其第一次出现的索引,如果没有找到指定的内容,则返回-1

-第二个参数可以指定开始查找的位置

6.lastIndexOf(参数1,参数2)

-该方法和indexOf()类似该方法的作用是从后往前找,也可以指定开始查找的参数

7.slice()

-该方法可以从字符串中截取指定的内容,不会影响原字符串,同样也会将截取的结果返回。

-参数1叫做开始位置的索引(包括开始位置) 参数2叫做结束位置的索引(不包括结束位置) 如果我们省略第二个参数,则会截取到后面所有的,也可以传递一个负数做为参数,负数的话将会从后面开始计算

8.substring()

-也是用来截取字符串,和slice方法类似

-参数1 : 开始位置的索引(包括开始位置) 参数2 : 结束位置的索引 (不包括结束位置)

-与slice的不同点在于这个方法不能接受负值作为参数,如果传递了一个负值,则默认为0。而且还会自动调整参数的位置,如果第二个参数小于第一个,则自动交换

9.substr()

-该方法用来截取字符串

-参数1:截取开始位置的索引 参数2:截取的长度

10.split()

-可以将一个字符串拆分为字符数组

-参数:需要一个字符串作为参数,将会根据这个字符串来拆分数组

-如果传递一个空号(”“)作为参数,则会将每个字符都拆分为数组中的一个元素

11.toUpperCase()

-可以将字符串转换为大写,并返回

12.toLowerCase()

-可以将字符串转换为小写,并返回

六、正则表达式

1.定义

-正则表达式用于定义一些字符串的规则,计算机可以根据正则表达式来检查一个字符串是否符合规则,或者将字符串中符合规则的内容提取出来。

2.创建正则表达式的语法

-var 变量 = new RegExp(”正则表达式“,”匹配模式“);

-使用typeof检查正则对象时,会返回object

3.正则表达式的方法

-test(); 使用这个方法可以用来检查一个字符串是否符合正则表达式的规则,如果符合则返回true

-var reg = new RegExp(”a“),这个正则表达式可以用来检查字符串中是否含有”a“。

-在构造函数中,可以传递一个匹配模式作为第二个参数

参数可以是: i (忽略大小写) g (全局匹配模式)

4.使用字面量来创建正则表达式

-语法 var 变量 /正则表达式/匹配模式

-使用字面量创建正则表达式更加简单,但是使用构造函数创建更加灵活

5.正则表达式语法

-创建一个正则表达式,检查一个字符串中是否有a 或 b . 可以使用 “|” 表示或的意思,【】中括号里的内容也会”或“的关系

reg = /a|b/; /a|b/ == /【ab】/

-创建一个正则表达式,检查一个字符串中是否有字母

reg = /【a-z】/ 【a-z】表示任意的小写字母 ,【A-Z】表示任意的大写字母 ,【A-z】表示任意字母

-检查一个字符串中是否有abc或adc或aec

reg = /a[bde]c/

-【^ab】 检查一个字符串中是否含有除了ab以外的东西 ^表示除了

-【0-9】表示任意的数字

-检查一个字符串中是否以a开头,^表示开头。检查一个字符串是否以a结尾,/a$/表示是否以a结尾,

/^a/表示是否以a开头。

6.量词

-通过量词可以设置一个内容出现的次数,{n}表示正好出现n次 例 var reg =/a{3}/ ,{m,n}则表示出现m到n次。{m,}表示出现m次及以上。+表示至少出现一个,比如b+表示至少出现一个b。*号表示0个或多个,相当于{0,}。?号表示0个或1个,相当于{0,1}

-量词只对它前面的一个内容起作用,比如ab{3}只对b起作用,即代表abbb 。 如果想使ab为一个整体可以加括号 比如(ab){3}就代表ababab。

7.创建一个正则表达式,用来检查一个字符串是否是一个合法手机号

8.检查一个字符串中是否有”.“

-正则表达式中的”.“表示任意字符,在正则表达式中,可以使用\来表示转义字符,可以用斜杠.来表示”.“

-注意:使用构造函数时,参数是一个字符串,而\是字符串中的转义字符,如果要使用\则需要使用两个斜杠来代替

9.正则表达式语法

-\w 表示任意字母、数字、【A-z0-9__】

-\W 表示除了任意字母、数字、【^A-z0-9__】

-\d 表示任意数字 【0-9】

-\D 表示除了数字 【^0-9】

-\s 表格空格

-\S 表示除了空格

-\b 表示单词边界 例子 : /\bchild\b/表示查找独立的单词child 前后有其他字母都不行

-\B 表示除了单词边界

10.去掉字符串中的空格

-可以使用”“空串替代空格 str = str.replace(/\s/g,"");

-但是我们一般不希望去除字符串中间的空格,只希望去除前后的空格

去除开头的空格 : str = str.replace(/^\s*/,"");

去除结尾的空格:str = str.replace(/\s*$/,"");

既要去除开头的空格 又要去除结尾的空格 : str =str.replace(/^\s*|\s*dollar符/g,”“);

七、字符串和正则相关的方法

1.split()

-split可以根据一个字符将一个字符串拆分为数组 , 方法中可以传递一个正则表达式作为参数

-如果想根据任意字母来将字符串拆分,可以在split()方法里添加一个/【A-z】/的正则表达式

-这个方法即使不指定全局匹配,也会全都拆分

2.search()

-可以搜索字符串中是否含有指定内容

-如果搜索到指定内容,则会返回第一次出现的索引,如果没有搜索到则会返回-1,它可以接收一个正则表达式作为参数,然后会根据正则表达式去检索参数

-search即使设置全局匹配,也只会查找第一个

-例 : var str = " Hello abc Hello aec Hello afc" 如果想搜索字符串中是否含有 abc 或 aec 或 afc

可以直接使用 result = str.search(/a[bef]c/);

3,match()

-可以根据正则表达式,将一个字符串中符合条件的内容提取出来

-默认情况下,match只会找到第一个符合要求的内容,找到以后就停止检索,我们可以设置正则表达式为全局匹配模式,这样就会匹配到所有的内容,可以为一个正则表达式设置多个匹配模式,且顺序无所谓

-match会将匹配到的内容封装到一个数组中返回,即使只查询到一个结果也是返回一个数组

4.replace()

-可以将字符串中的内容替换成新的内容,默认只替换第一个字符串,此时可以设置一个正则表达式来替换所有的字符串

-参数 1: 需要替换的内容 参数2 : 新的内容

八、邮件的正则表达式

1.电子邮件的格式

例:hello@

结构: 任意字母数字下划线 .任意字母数字下划线@ 任意字母数字 .任意字母(2-5位) .任意字母(2-5位)

正则表达式结构: \w{3,} (斜杠.\w+)* @ [a-zA-Z0-9]+ (斜杠.[a-zA-Z]{2,5}){1,2}

正则表达式:var Email = /^\w{3,}(斜杠.\w+)* @ [a-zA-Z0-9]+ (斜杠.[a-zA-Z]{2,5}){1,2}$/

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。