JavaScript第八篇(p80~p88)

arguments

在调用函数时,浏览器每次都会传递两个隐含的参数:
(1)函数的上下文对象this
(2)封装实参的对象arguments

  • arguments是一个类数组对象,它可以通过索引来操作数据,也可以获取长度
  • 在调用函数时,我们所传的实参都会在arguments中保存
  • 我们即使不定义形参,也可以通过arguments来使用实参,只不过比较麻烦
  • 它里边有一个属性叫做callee,这个属性对应一个函数对象,就是当前正在执行的函数对象
function fun(){
console.log(arguments.length);//返回2,因为有两个实参数
}//arguments.length可以用来获取实参的长度
console.log(arguments[0]);//返回hello
console.log(arguments.callee == fun);//返回true
fun("hello","true");

Date对象

创建一个Date对象:

  • 如果使用构造函数创建一个Date对象,则会封装为当前代码执行的时间
var d = new Date();

在这里插入图片描述

创建一个指定的时间对象:

  • 需要在构造函数中传递一个表示时间的字符串作为参数
  • 日期的格式:月份/日/年 时:分:秒
var d2 = new Date("12/03/2011 11:10:30");
console.log(d2);

在这里插入图片描述

1.getDate()

获取当前日期对象是几日

var date = d2.getDate();//12/03/2001 11:10:30
console.log(date);

在这里插入图片描述

2.getDay()

  • 会获取当前日期对象是周几
  • 会返回0~6的值
  • 0表示周日,以此类推
var Day = d2.getDay();//12/03/2001 11:10:30
console.log(Day);

在这里插入图片描述

3.getMonth()

  • 获取当前时间对象的月份
  • 会返回0~11的值
  • 0表示一月,以此类推
var month = d2.getMonth();//12/03/2001 11:10:30
console.log("month:"+(month+1));

在这里插入图片描述

4.getTime()

  • 获取当前日期对象的时间戳
  • 时间戳:指的是格林威治标准时间的1970年1月1日,0时0分0秒到当前日期所花的费的毫秒数
  • 计算机底层在保存时间时使用都是时间戳
 var time=d2.getTime();
       console.log(time);

在这里插入图片描述

利用时间戳来调式代码的执行性能

var start = Date.now();
for(var i = 0; i<100; i++){
console.log(i);
}
var end = Date.now();
console.log("执行了"+(end-start)+"毫秒");

在这里插入图片描述

Math

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

  • Math.PI 表示圆周率

  • Math.abs() 返回一个数的绝对值

  • Math.ceil() 对一个数向上取整,如2.1就取3

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

  • Math.round() 对一个数进行四舍五入区取整

  • Math.random() 可以用来生成一个0~1之间的随机数;要生成0到某个数的随机数,变为Math.round( Math.random() 乘以 某个数 );生成一个X到Y的随机数,变为Math.round( Math.random()*(Y-X)+X
    )

  • Math.max() 可以获取多个数中的最大值

  • Math.min() 可以获取多个数中的最小值

  • Math.pow(x,y) 返回x的y次幂

  • Math.sqrt() 用于对一个数进行开方
    在这里插入图片描述
    https://www.w3school.com.cn/jsref/jsref_obj_math.asp

包装类

在这里插入图片描述

字符串的相关方法

1.charAt()

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

var str="Hello 您好"
var result=str.charAt(7);
console.log(result);

在这里插入图片描述

2.charCodeAt()

获取指定位置字符的字符编码(Unicode编码)

var str = "Hello At";
var result = str.charCodeAt(1);//101
  • formcharCodeAt() 根据字符编码去获取字符

3.indexOf()

  • 该方法可以检索一个字符串中是否含指定内容 如果字符串中含有该内容,则会返回其第一次出现的索引;如果没有找到指内容,则返回-1;
  • 可以指定第二个参数,指定开始查找的位置
var str = "Hello 您好";
var result = str.indexOf("l",1);//1表示从e开始查找,找到l,返回位置
console.log(result);

4.lastIndexOf()

  • 该方法和indexOf()一样,不同的是lastIndexOf()是从后往前找
  • 也可以指定开始查找的位置

5.String.fromCharCode

可以根据字符编码取获取字符

var result = String.fromCharCode(0x2692);

6.concat()

  • 用来连接两个或多个字符串
  • 作用和 + 一样
var result = str.concat("你好""您好"); 

7.slice()

  • 可以从字符串中获取指定的内容
  • 不会影响原字符串,而是将截取到的内容返回
  • 参数
    第一个,开始位置的索引(包括开始的位置);
    第二个,结束位置的索引(不包括结束位置)
  • 如果省略第二个参数,则会截取到后边所有的
  • 也可以传递一个负数作为第二个参数,负数的话将会从后边计算
 var str = "acavrsddassdf";
        var result = str.slice(1,4);
        var result1 = str.slice(1,-1);
        console.log(result);
        console.log(result1);

在这里插入图片描述

8.substring()

  • 可以用来截取一个字符串,与slice类似
  • 参数和slice()相同
  • 不同的是这个方法不能接受负数作为参数,如果用了负数,则默认为0
  • 如果第二个参数小于第一个参数,会自动交换

9.substr()

用来截取字符串

10.split()

  • 可以将一个数组拆分成一个数组
  • 参数:需要一个字符串作为参数,将会根据该字符串去拆分数组

11.toUpperCase()

  • 将一个字符串转换为大写并返回
var str = "abcd";
var result = str.toUpperCase();

12.toLowerCase()

  • 将一个字符串转换为小写并返回

正则表达式

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

1.创建正则表达式的对象

  • 语法: var 变量 = new RegExp(“正则表达式”,“匹配模式”)匹配模式:可以是i(忽略大小写) g(全局匹配模式);
  • 使用typeof检查正则对象,会返回object
var reg = new RegExp("a","i");

这个正则表达式可以用来检查一个字符串中是否含有a

  • 在构造函数中可以传递一个匹配模式作为第二个参数:可以是i(忽略大小写) g(全局匹配模式)

2.正则表达式的方法:

  • test()使用这个方法可以用来检查一个字符串是否符合正则表达式的规则,如果符合则返回true,否则返回false
var result = reg.test(str);
console.log(result);//返回true
console.log(reg.test("bacd"));//返回true,有a就行
console.log(reg.test("bacd"));
和
console.log(reg.test("bAcd"));//都返回true

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

  • 语法:var 变量 = /正则表达式/ 匹配模式
  • 使用字面量形式更简单
  • 使用构造函数更加灵活
var reg = new RegExp("a","i");//这是构造函数的形式
或者
var reg = /a/i;//字面量的形式

4.创建一个正则表达式。检查一个字符串中是否有a或b

  • 使用 | 表示或者的意思
  • [ ]里的内容也是或的意思
  • [ab] == a|b
var reg = /a|b/;
console.log(reg.test("bcd"));

5.创建一个正则表达式检查一个字符串中是否含有字母

  1. [a - z]任意小写字母 [A - Z]
  2. 任意大写字母
  3. [A - z]任意字母
var reg = [a - z];
console.log(reg.test("b"));

6.创建一个正则表达式检查一个字符串是否含有aaa
(1)量词

  1. 通过量词可以设置一个内容出现的次数
  2. 量词只对前一个内容起作用
  3. {n} 表示出现n次
  4. {m,n} 出现m到n次不能超过n,不能小于m
  5. {m,} 出现m次以上
  6. 加号(+) 出现至少一个,相当于{1,}
  7. 星号(*) 出现0个或多个,相当于{0,}
  8. 问号(?)出现0个或1个,相当于{0,1}

正则表达式相关的方法

1.split()

可以将一个字符串拆成一个数组

var str="1a2b3c4d5e6f";
var result=str.split(/[A-z]/);//A到z
console.log(result);

在这里插入图片描述

2.search()

  • 可以搜索字符串中是否含有该指定内容
  • 如果搜索到指定内容,则会返回第一次出现的索引,如果没有则返回 -1
  • 它可以接受一个正则表达式作为参数,然后根据正则表达式来检索字符串
  • search()只会查找第一个,即使设置全局匹配也没用
var str = "hello abc aec afc";
var result = str.search(/a[bef]c/);//abc或aec或afc
console.log(result);

3.match()

  • 可以根据正则表达式,从一个字符串中将符合条件的内容提取出来
  • 默认情况下我们的match只会找到第一个符合要求的内容,找到以后就停止检索。我们可以设置正则表达式为全局匹配模式,这样就会匹配到所有的内容。可以为一个正则表达式设置多个匹配模式,且顺序无所谓。
  • match()会将匹配到的内容封装到一个数组中返回,即使只查询到一个结果。
var str = "1a2b3c4d5e6f7A8B9C";
var result = str.match(/[A-z]/ig);
console.log(result);
console.log(result[0]);//返回a

在这里插入图片描述

4.replace()

  • 可以将字符串中指定内容替换为新的内容
  • 参数:
    1.第一个参数, 被替换的内容,可以接受一个正则表达式作为参数
    2.第二个参数, 新的内容
    默认只会替换第一个
			var str = "1a2b3c4a5e6f7A8B9C";		
			var result = str.replace(/[a-z]/gi , "");	
			console.log(result);

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值