JavaScript入门笔记

这篇博客详细介绍了JavaScript中的核心方法,包括数组方法如reverse()、concat()、join()和sort(),函数方法如call()、apply()以及arguments对象,还涉及到this、包装类、字符串方法、正则表达式、Date对象和Math对象的使用。对于初学者来说,这是一个很好的JavaScript入门学习资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.数组方法
    reverse()
        - 可以用来反转一个数组,它会对原数组产生影响
    concat()
        - 可以连接两个或多个数组,它不会影响原数组,而是新数组作为返回值返回
    join()
        - 可以将一个数组转换为一个字符串
        - 参数:
            需要一个字符串作为参数,这个字符串将会作为连接符来连接数组中的元素
            如果不指定连接符则默认使用,
    sort()
        - 可以对一个数组中的内容进行排序,默认是按照Unicode编码进行排序
            调用以后,会直接修改原数组。
        - 可以自己指定排序的规则,需要一个回调函数作为参数:
            function(a,b){
                
                //升序排列
                //return a-b;
                
                //降序排列
                return b-a;
            }
            
2.函数
    - call()
    - apply()
        - 这两个方法都是函数对象的方法需要通过函数对象来调用
        - 通过两个方法可以直接调用函数,并且可以通过第一个实参来指定函数中this
        - 不同的是call是直接传递函数的实参而apply需要将实参封装到一个数组中传递
    - arguments
        - arguments和this类似,都是函数中的隐含的参数
        - arguments是一个类数组元素,它用来封装函数执行过程中的实参
            所以即使不定义形参,也可以通过arguments来使用实参
        - arguments中有一个属性callee表示当前执行的函数对象
        
    - this
        - this是函数的上下文对象,根据函数的调用方式不同会执向不同的对象
            1.以函数的形式调用时,this是window
            2.以方法的形式调用时,this是调用方法的对象
            3.以构造函数的形式调用时,this是新建的那个对象
            4.使用call和apply调用时,this是指定的那个对象
            5.在全局作用域中this代表window

3.包装类        
    - 在JS中为我们提供了三个包装类:
        String() Boolean() Number()
        - 通过这三个包装类可以创建基本数据类型的对象
        例子:
            var num = new Number(2);
            var str = new String("hello");
            var bool = new Boolean(true);
        - 但是在实际应用中千万不要这么干。
    
    - 当我们去操作一个基本数据类型的属性和方法时,
        解析器会临时将其转换为对应的包装类,然后再去操作属性和方法,
        操作完成以后再将这个临时对象进行销毁。

4.字符串的相关的方法
    length
        - 获取字符串的长度
    charAt()
        - 根据索引获取指定的字符
    charCodeAt()
        - 根据索引获取指定的字符编码
    String.fromCharCode()
        - 根据字符编码获取字符
    indexOf()
    lastIndexOf()
        - 从一个字符串中检索指定内容
        - 需要一个字符串作为参数,这个字符串就是要检索的内容,
            如果找到该内容,则会返回其第一次出现的索引,如果没有找到则返回-1。
        - 可以指定一个第二个参数,来表示开始查找的位置
        - indexOf()是从前向后找
        - lastIndexOf()是从后向前找
    slice()
        - 可以从一个字符串中截取指定的内容,并将截取到内容返回,不会影响原变量
        - 参数:
            第一个:截取开始的位置(包括开始)
            第二个:截取结束的位置(不包括结束)
                - 可以省略第二个参数,如果省略则一直截取到最后
            - 可以传负数,如果是负数则从后往前数
    substr()    
        - 和slice()基本一致,不同的是它第二个参数不是索引,而是截取的数量
        
    substring()
        - 和slice()基本一致,不同的是它不能接受负值作为参数,如果设置一个负值,则会自动修正为0,
            substring()中如果第二个参数小于第一个,自动调整位置
    toLowerCase() 
        - 将字符串转换为小写并返回
    toUpperCase() 
        - 将字符串转换为大写并返回
    split()
        - 可以根据指定内容将一个字符串拆分为一个数组
        - 参数:
            - 需要一个字符串作为参数,将会根据字符串去拆分数组
                可以接收一个正则表达式,此时会根据正则表达式去拆分数组
                
    match() 
        - 可以将字符串中和正则表达式匹配的内容提取出来
        - 参数:
            - 正则表达式,可以根据该正则表达式将字符串中符合要求的内容提取出来
                    并且封装到一个数组中返回
    
    replace()  
        - 可以将字符串中指定内容替换为新的内容
        - 参数:
            - 第一个:被替换的内容,可以是一个正则表达式
            - 第二个:替换的新内容
            
    search() 
        - 可以根据正则表达式去字符串中查找指定的内容
        - 参数:
            正则表达式,将会根据该表达式查询内容,
                    并且将第一个匹配到的内容的索引返回,如果没有匹配到任何内容,则返回-1。
                    
5.正则表达式
    - 正则用来定义一些字符串的规则,程序可以根据这些规则来判断一个字符串是否符合规则,
        也可以将一个字符串中符合规则的内容提取出来。
    - 创建正则表达式
        - var reg = new RegExp("正则","匹配模式");
        - var reg = /正则表达式/匹配模式
        
    - 语法:
        匹配模式:
            i:忽略大小写
            g:全局匹配模式
            - 设置匹配模式时,可以都不设置,也可以设置1个,也可以全设置,设置时没有顺序要求
            
        正则语法        
            | 或
            [] 或
            [^ ] 除了
            [a-z] 小写字母
            [A-Z] 大写字母
            [A-z] 任意字母
            [0-9] 任意数字
            
    - 方法:
        test()
            - 可以用来检查一个字符串是否符合正则表达式
            - 如果符合返回true,否则返回false
            
6.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()
            - 可以获取当前代码执行时的时间戳


7.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()
            - 求多个数中的最小值
        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值