JavaScript Day09

复习

数组方法

    reverse()

        - 可以用来反转一个数组,它会对原数组产生影响

    concat()

        - 可以连接两个或多个数组,它不会影响原数组,而是新数组作为返回值返回

    join()

        - 可以将一个数组转换为一个字符串

        - 参数:

            需要一个字符串作为参数,这个字符串将会作为连接符来连接数组中的元素

            如果不指定连接符则默认使用,

    sort()

        - 可以对一个数组中的内容进行排序,默认是按照Unicode编码进行排序

            调用以后,会直接修改原数组。

        - 可以自己指定排序的规则,需要一个回调函数作为参数:

    function(a,b){

        //升序排列

        //return a-b;

        //降序排列

        return b-a;

    }


函数

    - call()

    - apply()

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

        - 通过两个方法可以直接调用函数,并且可以通过第一个实参来指定函数中this

        - 不同的是call是直接传递函数的实参而apply需要将实参封装到一个数组中传递

    - arguments

        - arguments和this类似,都是函数中的隐含的参数

        - arguments是一个类数组元素,它用来封装函数执行过程中的实参

            所以即使不定义形参,也可以通过arguments来使用实参

        - arguments中有一个属性callee表示当前执行的函数对象

    - this

        - this是函数的上下文对象,根据函数的调用方式不同会执向不同的对象

        ①.以函数的形式调用时,this是window

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

        ③.以构造函数的形式调用时,this是新建的那个对象

        ④.使用call和apply调用时,this是指定的那个对象

        ⑤.在全局作用域中this代表window

包装类

    - 在JS中为我们提供了三个包装类:

        String() Boolean() Number()

    - 通过这三个包装类可以创建基本数据类型的对象

        例子:

            var num = new Number(2);

            var str = new String("hello");

            var bool = new Boolean(true);

        - 但是在实际应用中千万不要这么干。

        - 当我们去操作一个基本数据类型的属性和方法时,

            解析器会临时将其转换为对应的包装类,然后再去操作属性和方法,

            操作完成以后再将这个临时对象进行销毁。

字符串的相关的方法

    length

        - 获取字符串的长度

    charAt()

        - 根据索引获取指定的字符

    charCodeAt()

        - 根据索引获取指定的字符编码

    String.fromCharCode()

        - 根据字符编码获取字符

    indexOf()

    lastIndexOf()

        - 从一个字符串中检索指定内容

        - 需要一个字符串作为参数,这个字符串就是要检索的内容,

            如果找到该内容,则会返回其第一次出现的索引,如果没有找到则返回-1。

        - 可以指定一个第二个参数,来表示开始查找的位置

        - indexOf()是从前向后找

        - lastIndexOf()是从后向前找

    slice()

        - 可以从一个字符串中截取指定的内容,并将截取到内容返回,不会影响原变量

    - 参数:

        第一个:截取开始的位置(包括开始)

        第二个:截取结束的位置(不包括结束)

        - 可以省略第二个参数,如果省略则一直截取到最后

        - 可以传负数,如果是负数则从后往前数

    substr()

        - 和slice()基本一致,不同的是它第二个参数不是索引,而是截取的数量

    substring()

        - 和slice()基本一致,不同的是它不能接受负值作为参数,如果设置一个负值,则会自动修正为0,

            substring()中如果第二个参数小于第一个,自动调整位置

    toLowerCase()

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

    toUpperCase()

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

    split()

        - 可以根据指定内容将一个字符串拆分为一个数组

        - 参数:

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

            可以接收一个正则表达式,此时会根据正则表达式去拆分数组

    match()

        - 可以将字符串中和正则表达式匹配的内容提取出来

        - 参数:

        - 正则表达式,可以根据该正则表达式将字符串中符合要求的内容提取出来

            并且封装到一个数组中返回

    replace() 

        - 可以将字符串中指定内容替换为新的内容

        - 参数:

            - 第一个:被替换的内容,可以是一个正则表达式

            - 第二个:替换的新内容

    search()

        - 可以根据正则表达式去字符串中查找指定的内容

        - 参数:

            正则表达式,将会根据该表达式查询内容,

            并且将第一个匹配到的内容的索引返回,如果没有匹配到任何内容,则返回-1。


正则表达式

- 正则用来定义一些字符串的规则,程序可以根据这些规则来判断一个字符串是否符合规则,

    也可以将一个字符串中符合规则的内容提取出来。

- 创建正则表达式

    - var reg = new RegExp("正则","匹配模式");

    - var reg = /正则表达式/匹配模式

    - 语法:

    匹配模式:

        i:忽略大小写

        g:全局匹配模式

    - 设置匹配模式时,可以都不设置,也可以设置1个,也可以全设置,设置时没有顺序要求

正则语法

        | 或

        [] 或

        [^ ] 除了

        [a-z] 小写字母

        [A-Z] 大写字母

        [A-z] 任意字母

        [0-9] 任意数字

- 方法:

    test()

        - 可以用来检查一个字符串是否符合正则表达式

        - 如果符合返回true,否则返回false


Date

- 日期的对象,在JS中通过Date对象来表示一个时间

- 创建对象

- 创建一个当前的时间对象

    var d = new Date();

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

    var d = new Date("月/日/年 时:分:秒");

- 方法:

getDate()

    - 当前日期对象是几日(1-31)

getDay()

    - 返回当前日期对象时周几(0-6)

        - 0 周日

        - 1 周一 。。。

getMonth()

    - 返回当前日期对象的月份(0-11)

    - 0 一月 1 二月 。。。

getFullYear() 从 Date 对象以四位数字返回年份。

getHours() 返回 Date 对象的小时 (0 ~ 23)。

getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。

getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。

getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。

getTime()

    - 返回当前日期对象的时间戳

    - 时间戳,指的是从1970年月1日 0时0分0秒,到现在时间的毫秒数

        计算机底层保存时间都是以时间戳的形式保存的。

Date.now()

    - 可以获取当前代码执行时的时间戳


Math

- Math属于一个工具类,它不需要我们创建对象,它里边封装了属性运算相关的常量和方法

    我们可以直接使用它来进行数学运算相关的操作

- 方法:

Math.PI

    - 常量,圆周率

Math.abs()

    - 绝对值运算

Math.ceil()

    - 向上取整

Math.floor()

    - 向下取整

Math.round()

    - 四舍五入取整

Math.random()

    - 生成一个0-1之间的随机数

    - 生成一个x-y之间的随机数

Math.round(Math.random()*(y-x)+x);

Math.pow(x,y)

    - 求x的y次幂

Math.sqrt()

    - 对一个数进行开方

Math.max()

    - 求多个数中最大值

Math.min()

    - 求多个数中的最小值

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,324评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,356评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,328评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,147评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,160评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,115评论 1 296
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,025评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,867评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,307评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,528评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,688评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,409评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,001评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,657评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,811评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,685评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,573评论 2 353

推荐阅读更多精彩内容