web前端开发之JavaScript:内置对象的那些事

举报
运气男孩 发表于 2020/07/24 23:07:53 2020/07/24
【摘要】 经过前面一段时间的学习,相信大家对js有了初步的认识,js相当于web前端的核心部分,学好它对我们日后开发都要一定的帮助。回归正题,所谓万物皆对象,对象是指一个具体的事物,这前面我们都了解过,那么js里对象分为哪几种呢?它们的的含义是什么?有什么作用,且听我一一道来!

        经过前面一段时间的学习,相信大家对js有了初步的认识,js相当于web前端的核心部分,学好它对我们日后开发都要一定的帮助。回归正题,所谓万物皆对象,对象是指一个具体的事物,这前面我们都了解过,那么js里对象分为哪几种呢?它们的的含义是什么?有什么作用,且听我一一道来!


    在JavaScript 中,对象分为3种:自定义对象、内置对象、浏览器对象,前面两种对象是JS基础内容,属于ECMAScript;第三个浏览器对象属于我们JS独有的。

那么什么是内置对象呢?


    内置对象就是指JS语言自带的一些对象,这些对象供开发者使用,并提供了一 些常用的或是最基本而必要的功能(属性和方法),它的最大的优点就是帮助我们快速开发,JavaScript 提供了多个内置对象: Math、Date 、Array、 string等...................下面,先来介绍一下Math数学对象的属性与方法

 Math对象

Math对象不是构造函数,它具有数学常数和函数的属性和方法。跟数学相关的运算(求绝对值, 取整、最大值等)可以使用Math中的成员。

Math数学对象不是一个构造函数,所以我们不需要new来调用而是直接使用里面的属性和方法即可

示例:

console. log(Math.PI); // 返回圆周率
console.log(Math.max(1, 99,3)); // 99
console . log(Math.max(-1, -10)); // -1
console. . log(Math. max(1, 99 ,'张老师')); // NaN--not a number
console.log(Math.max()); // -Infinity  --负无穷大

说到这里,我们之前学过函数封装和自定义函数,那么现在可不可以用内置对象来封装一个自定义的数学对象呢?答案当然是可以,请看例子:

<script>
var myMath = {
    PI: 3.141592653,
    max: function() {
        var max = arguments[0];
        for (var i = 1; i < arguments.length; i++) {
        if (arguments[i] > max) {
            max = arguments[i];
        }
        }
             return max ;
    },
    min: function() {
        var min = arguments[0];
        for (var i = 1; i < arguments.length; i++) {
        if (arguments[i] < min) {
            min = arguments[i];
        }
        }
             return min ;
    }
}
    console.log(myMath.PI);
    console.log(myMath.max(1,6,88,99));
    console.log(myMath.min(1,6,88,99));
</script>

Math对象同样也可以用来取整,这里介绍三个方法

三个取整方法

1) Math.floor( )

地板向下取整往最小了取值

console. log(Math. floor(1.1)); // 1
console. log(Math. floor(1.9)); // 1

2) Math.ceil()

ceil天花板向上取整往最大了取值

console.log(Math. ceil(1.1)); // 2
console.log(Math.ceil(1.9)); // 2

3) Math.round()

四舍五入其他数字 都是四舍五入,但是.5特殊它往大了取

console .1og(Math. round(1.1)); // 1
console. log(Math. round(1.5)); // 2
console .1og(Math. round(1.9)); // 2
console .1og(Math. round(-1.1)); // -1
console. log(Math.round(-1.5)); //这个结果是-1

        我们学生时代上课时,老师会用电脑随机点名,当时都害怕极了,其实实现这个随机点名很简单,用Math.random();就可以实现啦 ,请看

 1.Math对 象随机数方法random() 返回一个随机的小数0 =< x < 1 且这个方法里面不跟参数

console. log(Math. random());

我们想要得到两个数之间的随机整数并且包含这2个整数

function getRandom(min, max) {
return Math.floor (Math.random() * (max - min + 1)) + min;
}
console.log(getRandom(1, 10));
//随机点名
var arr = ['张老师', '小助手1','小助手2','小助手3','小助手4','小助手5'];

console.log(arr[getRandom(0, arr .length - 1)]);

Date概述

●Date 对象和Math对象不一样,他是一个构造函数,所以我们需要实例化后才能使用

●Date 实例用来处理日期和时间

1.获取当前时间必须实例化

var now=newDate();
console.1og(now) ;

2. Date0构造函数的参数

如果括号里面有时间,就返回参数里面的时间。例如日期格式字符串为'2019-5-1' , 可以写成new Date(2019-5-1)或者new Date("2019/5/1)

数组对象

创建数组的两种方式

1.利用数组字面量

var arr = [1, 2, 3];

console.log(arr[e]);

2.利用new Array()

var arr1 = new Array(); //创建了一个空的数组
 var arr1 = new Array(2); 
//这个2表示数组的长度为2里面有2个空的数组元素
var arr1 = new Array (2,3); //等价于[2,3] 这样写表示里面有2个数组元素是2和3
console.log(arr1);

更多关于数组的那些事请移步我的另一篇博客: web前端开发之JavaScript:数组技巧知多少


字符串对象

1、声明字符串


var string="hello world";        或var string='hello world';


2、在字符串中引用引号


单引号:var string="His name is 'yunqinanhai' ";


双引号:var string='His name is "yunqinanhai" ';


3、获得字符串的长度


document.write(string.length);


4、从下标为3的位置开始,截取4个字符,包括下标为3的位置的字符


document.write(string.substr(3,4));


5、从下标为6的位置开始截取,截取到下标为8的位置,但是不包括下标为8的字符


document.write(string.substring(6,8));


6、去掉字符串两边的空格,但是可能有浏览器不支持


document.write(string.trim().length);


7、字符串转换为大写


document.write(string.toUpperCase());


8、字符串转化为小写


document.write(string.toLowerCase());


9、分割字符串,返回一个数组


    document.write(name.split(" ")+"<br>");             //根据空格分割字符串

    document.write(name.split(" ").length+"<br>");  //分割后的数组长度

    document.write(name.split(" ")[0]+"<br>");         //打印数组。。。

    document.write(name.split(" ")[1]+"<br>");

    document.write(name.split(" ")[2]+"<br>");

    document.write(name.split(" ")[3]+"<br>");



关于内置对象的那些事到这里就告一段落了,如有问题欢迎指正,谢谢!


每篇一句:黑发不知勤学早,白首方悔读书迟。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。