JS教程--对象及方法

JS对象分类

分为:内置对象(系统自带的对象),自定义对象,浏览器对象window
Object/Math/Date/Array…

(内置对象)Math对象
Math对象用于执行 数学任务,Math 不像 Date 和 String 那样是对象的类,因此没有构造函数Math()。无需创建,直接把Math当成对象使用,就可以调用其所有的方法和属性。

Math的方法
Math.round(3.6); //四舍五入
Math.random(); //返回一个大于等于0到小于1的随机数
Math.max(a,b); //返回较大的值
Math.min(a,b); //返回较小的值
Math.abs(num); //返回绝对值
Math.ceil(3.6); //向上取整
Math.floor(3.6); //向下取整
Math.pow(x,y); //x的y次方
Math.sqrt(num); //开平方
Math.sin(x); //x的正弦值,返回值在-1到1之间
Math.cos(x); //x的余弦值,返回值在-1到1之间
sin和cos的x为弧度值,而非角度,弧度计算公式:2 * Math.PI / 360 * 角度

生成范围随机数
Math.round( Math.random() * (max-min) + min );

Math的属性
Math.PI; //约等于3.14159

Math—>是内置对象,不是函数

Math.abs()---->绝对值

Math.max()---->数组中的最大值

Math.min()---->一数组中的最小值

Math.ceil()—>向上取整

Math.floor()—>向下取整

扫描二维码关注公众号,回复: 9360849 查看本文章

Math.PI---->π的值

Math.random()—>获取随机数---->伪随机数,0-1之间,没有1,有0

(内置对象)Date对象
Date—>是内置对象,是函数

创建一个日期对象
    var d = new Date();

    从日期对象获取信息
    console.log(d.getFullYear());    //获取年
    console.log(d.getMonth());       //获取月,注意月份是从0开始
    console.log(d.getDate());        //获取日
    console.log(d.getDay());         //获取周
    
    console.log(d.getHours());       //获取小时
    console.log(d.getMinutes());     //获取分钟
    console.log(d.getSeconds());     //获取秒数
    console.log(d.getMilliseconds());//获取毫秒

    时间戳
    console.log(d.getTime());        //获取从1970年1月1日至今的毫秒
    
    console.log(d)                   //返回本地时间,包含年月日星期时分秒

    设置日期:
        1.粗野模式,简单粗暴,但是会清零时分秒
            var d = new Date("2008/8/8");
        2.复杂模式
            var d = new Date();
            d.setFullYear(2009);    //设置年
            d.setMonth(6);          //设置月,超过11,累加年
            d.setDate(27);          //设置日,超过最大日期,累加月
            d.setHours(40);         //设置小时,超过24,累加天
            d.setMinutes(40);       //设置分钟,超过60,累加小时
            d.setSeconds(40);       //设置秒,超过60,累加分钟
            d.setMilliseconds(40);  //设置毫秒,超过1000,累加秒

            d.setTime(10000)        //设置从1970年1月1日过去了多少毫秒

            console.log(d)          //返回更改后的年月日 时分秒

    注意set系列的返回值
        console.log(d.setFullYear(2009));
        //返回从1970年1月1日,到当前设置的时间的毫秒数

var dt=new Date();

dt.getFullYear()—>年份

dt.getMonth()—>月份

dt.getDate()—>几号

dt.getHours()—>小时

dt.getMinutes()—>分钟

dt.getSeconds()—>秒

new Date().toLocaleDateString();//日期

new Date().toDateString();//日期

new Date().toLocaleTimeString();//时间

new Date().toTimeString();//时间

延时器和计时器

  延时器:setTimeout(function(){
               console.log(1);
           },100)
    语法:setTimeout(函数或者代码串,指定的时间(毫秒));
    在指定的毫秒数后只执行一次函数或代码。
    清除延迟器:clearTimeout();




    定时器:setInterval(function(){
               console.log(1);
           },100)
    语法:setInterval(函数或者代码串,指定的时间(毫秒));
    按照指定的周期(毫秒)不断的执行函数或者是代码串。
    清除定时器:clearInterval();

定时器

 延时器:setTimeout(function(){
               console.log(1);        //1000毫秒后,打印1
           },100)
    语法:setTimeout(函数或者代码串,指定的时间(毫秒));
    在指定的毫秒数后只执行一次函数或代码。
    清除延迟器:clearTimeout();


    定时器:setInterval(function(){
               console.log(1);        //每隔1000毫秒,打印一次1
           },100)
    语法:setInterval(函数或者代码串,指定的时间(毫秒));
    按照指定的周期(毫秒)不断的执行函数或者是代码串。
    表示每隔指定的时间,执行一次函数
    清除定时器:clearInterval();

 
    注意思考:为什么要清除计时器或延时器呢?
    
    功能:一定时间后调用
    参数:两个参数,一个函数,一个毫秒
    返回值:数字,当前定时器的唯一编号,用于关闭定时器

String对象下的方法
.charAt(索引);—>返回的是指定索引位置的字符串

.charCodeAt(索引);—>返回的是指定索引位置的字符串的ASCII值

.concat(“字符串1”,“字符串2”,…)—>字符串拼接.返回新的字符串

.indexOf(“要查找的字符串”,开始的位置的索引);索引可以省略,返回的是查找后字符串的索引值,找不到则返回-1

.slice(开始的位置,结束的位置);----返回的是截取后的字符串

.lastIndexOf(“要查找的字符串”,开始的位置)—>从后向前找字符串,找到了就是索引,找不到就是-1

.replace(“要替换的字符串”,“替换后的字符串”);----替换后新的字符串

.subStr(开始的索引,截取字符串的长度);返回的是截取后的字符串

.subString(开始的索引,结束的索引);返回的是截取后的字符串

.trim()去掉字符串两端的空格,中间的空格不能去掉

.split(“要切掉的字符串”,想要几个字符串);返回的是一个字符串的数组

.toLocaleLowerCase();转小写

.toLocaleUpperCase();转大写

.charAt(索引);返回的是索引对应的字符串

.charCodeAt(索引);返回的是索引对应的字符串的ASCII码值(十进制)

.concat(“新的字符串”,“其他字符串”,…);

.slice(开始索引,结束索引);从指定位置开始提取字符串,到指定位置的前面

.substring(开始位置,结束位置);从指定位置开始提取字符串,到指定位置的前面

.substr(开始位置,字符串的截取个数);从指定位置开始截取,截取多少个字符串

.indexOf(字符串);获取的是该字符串的索引位置,如果找不到则返回-1

.lastIndexOf(字符串);从后向前找字符串,索引依然是从前向后

.trim()干掉字符串前后的空格

.toLocaleUpperCase()把字符串从小写转大写的

.toLocaleLowerCase();把字符串从大写转小写

.replace(原来的字符串,“新的字符串”);替换字符串的

.split(“要干掉的字符串”);返回的是一个新的数组

创建数字的方式

  1. 通过调用系统的构造函数 Array

    var arr1=new Array(); //空数组

2.通过字面量的方式

var arr2=[]; //空数组

3.通过调用系统的构造函数,设置初始的数组的长度

var arr3=new Array(3); //undefined

.isArray(变量);返回的是布尔类型,如果是true则是数组,否则就不是数组

Array中的方法
.push(数据);向数组中追加一个数组,如果接收这个方法了,结果是追加数据后的数组的长度

.shift();删除数组中的第一个数据,返回值是删除后的那个数据值

.pop();删除数组中的最后一个数据,返回值是删除后的那个数据值

.unshift();向数组中第一个元素前面插入一个数据,返回值是插入数据后数组的新的长度

.reverse();反转数据数据

.sort();排序,但是不稳定

.slice(开始索引,结束索引);截取原数组中的数据,然后组成一个新的数组

.splice(开始的位置,删除的个数);返回值是删除后的数据组成的新数组,原来的数据的数据改变了

.splice(开始的位置,删除的个数,参数1,参数2…);是把数组中删除的位置用新的参数替换了

.indexof(要查找的数据);找到了就是索引,找不到就是-1

.join(“字符串”);返回值还是字符串,是把数组元素中间加上一个字符串,最终产生一个新的字符串

当一个函数参数的时候,这个函数就叫回调函数

.filter(回调函数);返回的是符合条件的筛选后的数据,组成的新数组

什么是对象

对象的类型是Object。

JS中所有的事物都是对象:字符串,数值,数组,函数……

JS中的万物皆对象。

官方的解释:
什么是对象,其实就是一种类型,即引用类型,而对象的值就是引用类型的实例,在ECMAScript中引用类型是一种数据结构,用于将数据和功能组织在一起。它也常常被称为类,但ECMAScript中却没有类,虽然ECMAScript是一门面向对象的语言,却不具备传统面相对象语言所支持的类等基本结构

创建对象

var obj = {}                //字面量
    var obj2 = new Object()     //构造函数
    console.log( obj == obj2 )  //false
    所有对象都不相等

    var obj = { a:10 }
    var obj2 = { b:10 }
    console.log( obj.a == obj2.b )    //true
    对象身上的属性,相当于一个变量,当值一样的时候,属性相等

    存储数据的载体称为变量,在对象中称为属性
    功能实现的载体称为函数,在对象中称为方法

    面向对象,就是只对 对象进行编程

    this,指针,是函数中的关键字。它的指向规则是当前方法执行的对象

    var obj = {
        name:"admin",
        show:function(){
            console.log(obj.name);
            console.log(this.name);
        }
    };
    obj.show()        //admin        //admin

    函数中指向window的this,同理

    如何删除对象中的属性?
    var obj = {
        name:"admin",
        age:23,
        like:"篮球"
    }
    
    delete obj.name;
    delete obj.age;

对象的深拷贝和浅拷贝

  • 另作详解
发布了45 篇原创文章 · 获赞 4 · 访问量 1088

猜你喜欢

转载自blog.csdn.net/weixin_44990056/article/details/99818729
今日推荐