首頁 web前端 前端問答 javascript中是否有內建對象

javascript中是否有內建對象

Feb 15, 2022 pm 06:40 PM
javascript 內建對象

javascript中有內建物件。內建物件是JS語言自帶的一些對象,常見的有:String物件、Array物件、Date物件、Boolean物件、Number物件、Math物件、RegExp物件、Global物件等等。

javascript中是否有內建對象

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

JavaScript中的物件分為3中:自訂物件、內建物件、瀏覽器物件

前面兩種物件是JS基礎內容,屬於ECMAScript;第三個瀏覽器物件屬於我們JS獨有的

內建物件就是指JS語言自帶的一些物件,這些物件是供開發者使用,並提供了一些常用的或是最基本且必要的功能(屬性與方法)

內建物件最大的優點就是幫助我們快速開發

JavaScript提供了多個內建對象,Math、Date、Array、String等

  • String物件:字串對象,提供了對字串進行操作的屬性和方法。

  • Array對象:數組對象,提供了數組操作方面的屬性和方法。

  • Date對象:日期時間對象,可以取得系統的日期時間資訊。

  • Boolean物件:布林對象,一個布林變數就是一個布林物件。 (沒有可用的屬性和方法)

  • Number物件:數值物件。一個數值變數就是一個數值物件。

  • Math對象:數學對象,提供了數學運算方面的屬性和方法。

  • Object物件

  • RegExp物件

  • Global物件

  • Function物件

  • .....

#Math物件

#
// Math数学对象 不是一个构造函数,所以我们不需要 new来调用 而是直接使用里面的属性和方法即可
        console.log(Math.PI); //一个属性 圆周率
        console.log(Math.max(1, 2, 99)); //99
        console.log(Math.max(-1, -12)); //-1
        console.log(Math.max(1, 99, '数学对象')); //NaN
        console.log(Math.max()); //-Infinity
登入後複製

 案例:封裝自己的數學物件

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, 5, 9));
        console.log(myMath.min(1, 5, 9));
登入後複製

1Math概述

Math物件不是建構函數,它具有數學常數和函數的屬性和方法。跟數學相關的運行(求絕對值,取整,最大值等)可以使用Math中的成員。

Math.PI                 //圆周率
Math.floor()           //向下取整
Math.ceil()            //向上取整
Math.round()           //四舍五入版  就近取整 注意-3,5  结果是 -3
Math.abs()             //绝对值
Math.max()/Math.min()  //求最大和最小值
登入後複製
// 1.绝对值方法
        console.log(Math.abs(1));    //1
        console.log(Math.abs(-1));   //1
        console.log(Math.abs(&#39;-1&#39;)); //隐式转换 会把字符串型 -1 转换为数字型
        console.log(Math.abs(&#39;wode&#39;)); //NaN

// 2.三个取整方法
// (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.log(Math.round(1.1));   //1
        console.log(Math.round(1.5));   //2
        console.log(Math.round(1.9));   //2
        console.log(Math.round(-1.1));   //-1
        console.log(Math.round(-1.5));   //这个结果是 -1
登入後複製

2隨機數方法random()

//1. Math对象随机数方法 random() 返回一个随机的小数  0 =< x < 1
//2.这个方法里面不跟参数
// 3.代码验证
        console.log(Math.random());
// 4.我们想要得到两个数之间的随机整数 并且包含这两个数
        // return Math.floor(Math.random() * (max - min + 1)) + min; 
        function getRandom(min, max) {
            return Math.floor(Math.random() * (max - min + 1)) + min;
        }
        console.log(getRandom(1, 10));
// 5.随机点名
        var arr = [&#39;张三&#39;, &#39;李四&#39;, &#39;王五&#39;, &#39;赵六&#39;, &#39;张三疯&#39;]
            // console.log(arr[0]);
            // console.log(arr[getRandom(0, 4)]);
        console.log(arr[getRandom(0, arr.length - 1)]);
登入後複製

案例:猜數字遊戲

程式隨機產生一個1~10之間的數字,並讓使用者輸入一個數字,

1.如果大於該數字,就提示,數字大了,繼續猜;

2.如果小於該數字,就提示,數字小了,繼續猜;

3.如果等於該數字,就提示猜對了,結束程式。

// 1.随机生成一个1~10的整数,我们需要用到Math.random()方法
// 2.需要一直猜到正确为止,所以一直循环
// 3.用while循环合适更简单
// 4.核心算法:使用if else if 多分支语句来判断大于,小于,等于
        function getRandom(min, max) {
            return Math.floor(Math.random() * (max - min + 1)) + min;
        }
        var random = getRandom(1, 10);
        while (true) { //死循环
            var num = prompt(&#39;你来猜,输入1~10之间的一个数字&#39;);
            if (num > random) {
                alert(&#39;猜大了&#39;);
            } else if (num < random) {
                alert(&#39;猜小了&#39;);
            } else {
                alert(&#39;猜对了&#39;);
                break;
            }
        }
登入後複製
// 要求用户猜1~50之间的一个数字 但是只有10次猜的机会
        function getRandom(min, max) {
            return Math.floor(Math.random() * (max - min + 1)) + min;
        }
        var random = getRandom(1, 50);
        var i = 0;
        while (i < 10) { //死循环
            var num = prompt(&#39;你来猜,输入1~50之间的一个数字&#39;);
            if (num > random) {
                alert(&#39;猜大了&#39;);
            } else if (num < random) {
                alert(&#39;猜小了&#39;);
            } else {
                alert(&#39;猜对了&#39;);
                break; //退出整个循环结束程序
            }
            i++;
        }
        if (i = 10) {
            alert(&#39;全部猜错了&#39;);
        }
登入後複製

日期物件

#1Date概述

  • Date物件和Math物件不一樣,他是一個建構函數,所以我們需要實例化後才能使用
  • Date實例用來處理日期和時間

2Date()方法的使用

1.取得目前時間必須實例化

var now = new Date();
console.log(now);
登入後複製

2.Date()建構函式的參數

如果括號裡面有時間,就回傳參數裡面的時間,例如日期格式字串為'2019-5-1',可以寫成new Date('2019-5-1')或new Date('2019/5/1')

//Date() 日期对象 是一个构造函数 必须使用new 来调用创建我们的日期对象
        var arr = new Date(); //创建一个数组对象
        var obj = new Object(); //创建了一个对象实例
// 1.使用Date  如果没有参数 返回当前系统的当前时间
        var date = new Date();
        console.log(date);
// 2.参数常用的写法 数字型 2019,10,01 或者是 字符串型 &#39;2019-10-1 8:8:8&#39;
        var date1 = new Date(2019, 10, 1);
        console.log(date1);  //返回的是 11月 不是 10月
        var date2 = new Date(&#39;2019-10-1 8:8:8&#39;);
        console.log(date2);
登入後複製

3日期格式化

我們想要2019-8-8  8:8:8格式的日期,該怎麼辦?

需要取得日期指定的部分,所以我們要手動的得到這種格式

#方法名稱#程式碼
getFullYears()取得當年dObj.getFullYears()
#getMonth ()取得當月(0-11)dObj.getMonth()
getDate()取得當天日期dObj.getDate()
getDay()取得星期幾(週日0 到週六6) dObj.getDay()
getHours()#取得目前小時dObj.getHours()
#getMinutes()取得目前分鐘dObj.getMinutes()
getSeconds()#取得目前秒數dObj.getSeconds()
#
// 格式化日期  年月日
        var date = new Date();
        console.log(date.getFullYear()); //返回当前日期的年 2020
        console.log(date.getMonth() + 1); //月份 返回的月份小1个月 记得月份 +1
        console.log(date.getUTCDate()); //返回的是几号
        console.log(date.getDay()); //6 周一返回的是 1  周六返回的是 6 但是 周日返回的是 0
// 写一个 2020年 5月 23日 星期六
        var year = date.getFullYear();
        var month = date.getMonth() + 1;
        var dates = date.getDate();
        var arr = [&#39;星期日&#39;, &#39;星期一&#39;, &#39;星期二&#39;, &#39;星期三&#39;, &#39;星期四&#39;, &#39;星期五&#39;, &#39;星期六&#39;];
        var day = date.getDay();
        console.log(&#39;今天是:&#39; + year + &#39;年&#39; + month + &#39;月&#39; + dates + &#39;日 &#39; + arr[day]);
        
// 格式化日期 时分秒
        var date = new Date();
        console.log(date.getHours()); //时
        console.log(date.getMinutes()); //分
        console.log(date.getSeconds()); //秒
// 要求封装一个函数返回当前的时分秒  格式是 08:08:08
        function getTimer() {
            var time = new Date();
            var h = date.getHours();
            h = h < 10 ? &#39;0&#39; + h : h;
            var m = date.getMinutes();
            m = m < 10 ? &#39;0&#39; + m : m;
            var s = date.getSeconds();
            s = s < 10 ? &#39;0&#39; + s : s;
            return h + &#39;:&#39; + m + &#39;:&#39; + s;
        }
        console.log(getTimer());
登入後複製

4获取日期的总的毫秒形式

Date对象是基于1970年1月1日(世界标准时间)起的毫秒数

我们经常利用总的毫秒数来计算时间,因为它更精确

// 获取Date总的毫秒数(时间戳) 不是当前时间的毫秒数 而是距离1970年1月1日过了多少毫秒数
// 1.通过 valueOf()   getTime()
        var date = new Date();
        console.log(date.valueOf()); //就是 我们现在时间 距离1970.1.1 总的毫秒数
        console.log(date.getTime());
// 2.简单的写法(最常用的写法)
        var date1 = +new Date(); //+new Date() 返回的就是总的毫秒数
        console.log(date1);
// 3.H5 新增的 获得总的毫秒数
        console.log(Date.now());
登入後複製

案例:倒计时效果

// 倒计时效果
// 1.核心算法:输入的时间减去现在的时间就是剩余的时间,即倒计时,但是不能拿着时分秒相减,比如05分减去25分,结果会是负数的
// 2.用时间戳来做,用户输入时间总的毫秒数减去现在时间的总的毫秒数,得到的就是剩余时间的毫秒数
// 3.把剩余时间总的毫秒数转换为天、时、分、秒(时间戳转换为时分秒)
// 转换公式如下:
// d = parseInt(总秒数 / 60 / 60 / 24); //计算天数
// h = parseInt(总秒数 / 60 / 60 % 24); //计算小时
// m = parseInt(总秒数 / 60 % 60); //计算分数
// s = parseInt(总秒数 % 60); //计算当前秒数
        function countDown(time) {
            var nowTime = +new Date(); //返回的是当前时间总的毫秒数
            var inputTime = +new Date(time); //返回的是用户输入时间总的毫秒数
            var times = (inputTime - nowTime) / 1000; //times是剩余时间总的秒数
            var d = parseInt(times / 60 / 60 / 24); //天
            d = d < 10 ? &#39;0&#39; + d : d;
            var h = parseInt(times / 60 / 60 % 24); //小
            h = h < 10 ? &#39;0&#39; + h : h;
            var m = parseInt(times / 60 % 60); //分
            m = m < 10 ? &#39;0&#39; + m : m;
            var s = parseInt(times % 60); //当前秒数
            s = s < 10 ? &#39;0&#39; + s : s;
            return d + &#39;天&#39; + h + &#39;时&#39; + m + &#39;分&#39; + s + &#39;秒&#39;;
        }
        console.log(countDown(&#39;2020-5-24 00:00:00&#39;));
        var date = new Date();
        console.log(date);
登入後複製

数组对象

1数组对象的创建

创建数组对象的两种方式

  • 字面量方式
  • new Array()
// 创建数组的两种方式
// 1.利用数组字面量
        var arr = [1, 2, 3];
        console.log(arr);
// 2.利用new Array()
        // var arr1 = new Array(); //创建了一个空的数组
        // var arr1 = new Array(2); //这个2 表示 数组的长度为 2 里面有两个空的数组元素
        var arr1 = new Array(2, 3); //等价于[2,3] 这样写表示 里面有2个数组元素 是2和3
        console.log(arr1);
登入後複製

2检测是否为数组

// 翻转数组
        function reverse(arr) {
            // if (arr instanceof Array) {
            if (Array.isArray(arr)) {
                var newArr = [];
                for (var i = arr.length - 1; i >= 0; i--) {
                    newArr[newArr.length] = arr[i];
                }
                return newArr;
            } else {
                return &#39;error 这个参数要求必须是数组格式[1,2,3]&#39;
            }
        }
        console.log(reverse([1, 2, 3]));
        console.log(reverse(1, 2, 3)); //[]
// 检测是否为数组
// (1)instanceof 运算符 它可以用来检测是否为数组
        var arr = [];
        var obj = {};
        console.log(arr instanceof Array);
        console.log(obj instanceof Array);
// (2)Array.isArray(参数);  H5新增的方法 IE9以上版本支持
        console.log(Array.isArray(arr));
        console.log(Array.isArray(obj));
登入後複製

3添加删除数组元素的方法

方法名说明返回值
push(参数1...)末尾添加一个或多个元素,注意修改原数组并返回新的长度
pop()

删除数组最后一个元素,把数组长度减 1 无参数,修改原数组

返回它删除的元素的值
unshift(参数1...)向数组的开头添加一个或更多元素,注意修改原数组并返回新的长度
shift()删除数组的第一个元素,数组长度减1无参数,修改原数组并返回第一个元素值
// 添加删除数组元素的方法
// 1.push() 在我们数组的末尾 添加一个或者多个数组元素 push 推
        var arr = [1, 2, 3];
        // arr.push(4, &#39;white&#39;);
        console.log(arr.push(4, &#39;white&#39;)); //5 数组长度
        console.log(arr);
        // (1)push 是可以给数组追加新的元素
        // (2)push() 参数直接写 数组元素就可以了
        // (3)push完毕之后,返回的结果是 新数组的长度
        // (4)原数组也会发生变化

//2.unshift 在我们数组的开头 添加一个或者多个数组元素
        console.log(arr.unshift(&#39;red&#39;, &#39;green&#39;)); //7
        console.log(arr);
        // (1)unshift 是可以给数组前面追加新的元素
        // (2)unshift() 参数直接写 数组元素就可以了
        // (3)unshift完毕之后,返回的结果是 新数组的长度
        // (4)原数组也会发生变化

// 3.pop() 它可以删除数组的最后一个元素
        console.log(arr.pop()); //white
        console.log(arr);
        // (1)pop 是可以删除数组的最后一个元素  一次只能删除一个元素
        // (2)pop() 没有参数
        // (3)pop完毕之后,返回的结果是 删除的那个元素
        // (4)原数组也会发生变化

// 4.shift() 它可以删除数组的第一个元素
        console.log(arr.shift()); //red
        console.log(arr);
        // (1)shift 是可以删除数组的第一个元素  一次只能删除一个元素
        // (2)shift() 没有参数
        // (3)shift完毕之后,返回的结果是 删除的那个元素
        // (4)原数组也会发生变化
登入後複製

案例:筛选数组

// 有一个包含工资的数组[1500, 1200, 2000, 2100, 1800],要求吧数组中工资超过2000的删除,剩余的放到新数组里面
        var arr = [1500, 1200, 2000, 2100, 1800];
        var newArr = [];
        for (var i = 0; i < arr.length; i++) {
            if (arr[i] < 2000) {
                // newArr[newArr.length] = arr[i];
                newArr.push(arr[i]);
            }
        }
        console.log(newArr);
登入後複製

4数组排序

方法名说明是否修改原数组
reverse()颠倒数组中元素的顺序,无参数该方法会改变原来数组,返回新数组
sort()对数组的元素进行排序该方法会改变原来数组,返回新数组
// 数组排序
// 1.翻转数组
        var arr = [&#39;red&#39;, &#39;white&#39;, &#39;blue&#39;];
        arr.reverse();
        console.log(arr);
// 2.数组排序(冒泡排序)
        var arr1 = [2, 5, 77, 4, 7, 11, 1];
        arr1.sort(function(a, b) {
            // return a - b;//升序的顺序排列
            return b - a; //降序的顺序排列

        });
        console.log(arr1);
登入後複製

5数组索引方法

方法名说明返回值
indexOf()数组中查找给定元素第一个索引如果存在,返回索引号;如果不存在,则返回-1
lastIndexOf()在数组中的最后一个的索引如果存在,返回索引号;如果不存在,则返回-1
// 返回数组元素索引号方法  indexOf(数组元素)  作用就是返回该数组元素的索引号 从前面开始查找
//它只返回第一个满足条件的索引号
// 它如果在该数组里面找不到元素,则返回的是 -1
        var arr = [&#39;red&#39;, &#39;green&#39;, &#39;blue&#39;, &#39;white&#39;, &#39;bule&#39;];
        console.log(arr.indexOf(&#39;blue&#39;)); //2
        console.log(arr.indexOf(&#39;black&#39;)); //-1
// 返回数组元素索引号方法  lastIndexOf(数组元素)  作用就是返回该数组元素的索引号 从后面开始查找
        var arr = [&#39;red&#39;, &#39;green&#39;, &#39;blue&#39;, &#39;white&#39;, &#39;blue&#39;];
        console.log(arr.lastIndexOf(&#39;blue&#39;)); //4
登入後複製

案例:数组去重

// 数组去重[&#39;c&#39;, &#39;a&#39;, &#39;z&#39;, &#39;a&#39;, &#39;x&#39;, &#39;a&#39;, &#39;x&#39;, &#39;c&#39;, &#39;b&#39;] 要求去除数组中重复的元素
// 1.目标: 把旧数组里面不重复的元素选取出来放到新数组中,重复的元素只保留一个,放到新数组中去重
// 2.核心算法:我们遍历旧数组,然后拿着旧数组元素去查询新数组,如果该元素在新数组里面没有出现过,我们就添加,否则不添加
// 3.我们怎么知道该元素没有存在?利用 新数组.indexOf(数组元素) 如果返回是 -1 就说明 新数组里面没有该元素
// 封装一个 去重的函数 unique 独一无二的
        function unique(arr) {
            var newArr = [];
            for (var i = 0; i < arr.length; i++) {
                if (newArr.indexOf(arr[i]) === -1) {
                    newArr.push(arr[i]);
                }
            }
            return newArr;
        }
        var demo = unique([&#39;c&#39;, &#39;a&#39;, &#39;z&#39;, &#39;a&#39;, &#39;x&#39;, &#39;a&#39;, &#39;x&#39;, &#39;c&#39;, &#39;b&#39;])
        var demo1 = unique([&#39;red&#39;, &#39;blue&#39;, &#39;blue&#39;])
        console.log(demo);
        console.log(demo1);
登入後複製

6数组转换为字符串

方法名说明返回值
toString()把数组转换成字符串,逗号分隔每一项返回一个字符串
join(分隔符)方法用于把数组中的所有元素转换为一个字符串返回一个字符串
// 数组转换为字符串
// 1.toString() 将我们的数组转换为字符串
        var arr = [1, 2, 3];
        console.log(arr.toString()); //1,2,3
// 2.join(分隔符)
        var arr1 = [&#39;green&#39;, &#39;blue&#39;, &#39;red&#39;];
        console.log(arr1.join());    //green,blue,red
        console.log(arr1.join(&#39;-&#39;)); //green-blue-red
        console.log(arr1.join(&#39;&&#39;)); //green&blue&red
登入後複製
方法名说明返回值
concat()连接两个或多个数组,不影响原数组返回一个新的数组
slice()数组截取slice(begin,end)返回被截取项目的新数组
splice()数组删除splice(第几个开始,要删除个数)返回被删除项目的新数组 注意,这个会影响原数组

slice()和 splice()目的基本相同

字符串对象

1基本包装类型

为了方便操作基本数据类型,JavaScript还提供了上特殊的引用类型:String、Number和Boolean。

基本包装类型就是把简单数据类型包装称为复杂数据类型,这样基本数据类型就有了属性和方法。

// 基本包装类型
        var str = &#39;andy&#39;;
        console.log(str.length);
// 对象 才有 属性和方法  复杂数据类型才有 属性和方法
// 简单数据类型为什么会有length属性?
// 基本包装类型:就是把简单的数据类型 包装称为了 复杂数据类型
// (1)把简单数据类型包装为复杂数据类型
        var temp = new String(&#39;andy&#39;);
// (2)把临时变量的值 给str
        str = temp;
// (3)销毁这个临时变量
        temp = null;
登入後複製

2字符串的不可变

指的是里面的值不可变,虽然看上去可以改变内容,但其实是地址变了,内存中新开辟了一个内存空间。

// 字符串的不可变性
        var str = &#39;andy&#39;;
        console.log(str);
        str = &#39;red&#39;;
        console.log(str);
// 当重新给 str 赋值的时候,常量 &#39;andy&#39;不会被修改,依然在内存中
// 重新给字符串赋值,会重新在内存中开辟空间,这个特点就是字符串的不可变
// 由于字符串的不可变,在大量拼接字符串的时候会有效率问题
// 因为我们字符串的不可变 所以不要大量的拼接字符串
        var str = &#39;&#39;;
        for (var i = 1; i <= 100000000; i++) {
            str += i;
        }
        console.log(str);//这个结果需要花费大量时间来显示,因为需要不断的开辟新的空间
登入後複製

3根据字符返回位置

字符串所有的方法,都不会修改字符串本身(字符串是不可变的),操作完成会返回一个新的字符串。

方法名说明
indexOf('要查找的字符',开始的位置)返回指定内容在字符串中的位置,如果找不到就返回-1;开始的位置是indlastex索引号
lastIndexOf()从后往前找,只找第一个匹配的
// 字符串对象 根据字符返回位置 str.indexOf(&#39;要查找的字符&#39;,[起始的位置])
        var str = &#39;改革春风吹满地,春天来了&#39;;
        console.log(str.indexOf(&#39;春&#39;));
        console.log(str.indexOf(&#39;春&#39;, 3)); //从索引号是 3 的位置开始往后查找
登入後複製

案例:返回字符位置

// 查找字符串 &#39;abcoefoxyozzopp&#39;中所有o出现的位置以及次数
// 核心算法:先查找第一个o出现的位置
// 然后 只要indexOf 返回的结果不是 -1 就继续往后查找
// 因为 indexOf 只能查找到第一个,所以后面的查找,一定是当前索引加 1,从而继续查找
        var str = &#39;abcoefoxyozzopp&#39;;
        var index = str.indexOf(&#39;o&#39;);
        var num = 0;
        // console.log(index);
        while (index !== -1) {
            console.log(index);
            num++;
            index = str.indexOf(&#39;o&#39;, index + 1);
        }
        console.log(&#39;o出现的次数是&#39; + num);
登入後複製
// [&#39;red&#39;, &#39;blue&#39;, &#39;red&#39;, &#39;green&#39;, &#39;pink&#39;, &#39;red&#39;],求red出现的位置和次数
        var str = [&#39;red&#39;, &#39;blue&#39;, &#39;red&#39;, &#39;green&#39;, &#39;pink&#39;, &#39;red&#39;];
        var index = str.indexOf(&#39;red&#39;);
        var num = 0;
        // console.log(index);
        while (index !== -1) {
            console.log(index);
            num++;
            index = str.indexOf(&#39;red&#39;, index + 1);
        }
        console.log(&#39;red出现的次数是&#39; + num);
登入後複製

4根据位置返回字符

方法名说明使用
charAt(index)返回指定位置的字符(index字符串的索引号)str.charAt()
charCodeAt(index)

获取指定位置处字符的ASCII码(index索引号)

str.charCodeAt(0)
str[index]获取指定位置处字符HTML5,IE8+支持和charAt()等效
// 根据位置返回字符
// 1.charAt(index) 根据位置返回字符
        var str = &#39;andy&#39;;
        console.log(str.charAt(3)); //y
// 遍历所有的字符
        for (var i = 0; i < str.length; i++) {
            console.log(str.charAt(i));
        }
// 2.charCodeAt(index) 返回相应索引号的字符ASCII值 目的:判断用户按下了哪个键
        console.log(str.charCodeAt(0)); //97(a的ASCII码是97)
// 3.str[index]  H5 新增的
        console.log(str[0]);  //a
登入後複製

案例:返回字符位置

// 有一个对象 来判断是否有该属性 对象[&#39;属性名&#39;]
        var o = {
            age: 18
        }
        if (o[&#39;age&#39;]) {
            console.log(&#39;里面有该属性&#39;);
        } else {
            console.log(&#39;没有该属性&#39;);
        }
// 判断一个字符串 &#39;abcoefoxyozzopp&#39;中出现次数最多的字符,并统计其次数
// o.a = 1
// 0.b = 1
// 0.c = 1
// o.o = 4
// 核心算法:利用charAt() 遍历这个字符串
// 把每个字符都存储给对象,如果对象没有该属性,就为1,如果存在了就+1
// 遍历对象,得到最大值和该字符
        var str = &#39;abcoefoxyozzopp&#39;;
        var o = {};
        for (var i = 0; i < str.length; i++) {
            var chars = str.charAt(i); //chars 是字符串的每一个字符
            if (o[chars]) {  //o[chars]得到的是属性值
                o[chars]++;
            } else {  
                o[chars] = 1;
            }
        }
        console.log(o);
登入後複製
// 2.遍历对象
        var max = 0;
        var ch = &#39;&#39;;
        for (var k in o) {
            // k 得到的是 属性名
            // o[k] 得到的是属性值
            if (o[k] > max) {
                max = o[k];
                ch = k;
            }
        }
        console.log(max);  //4
        console.log(&#39;最多的字符是&#39; + ch); //最多的字符是o
登入後複製

5字符串操作方法

方法名说明
concat(str1,str2,str3...)concat()方法用于连接两个或多个字符串。拼接字符串,等效于+,+更常用
substr(start,length)从start位置开始(索引号),length取的个数
slice(start,end)从start位置开始,截取到end位置,end取不到(它们两都是索引号)
substring(start,end)从start位置开始,截取到end位置,end取不到,基本和slice相同,但是不接受负值
// 字符串操作方法
// 1.concat(&#39;字符串1&#39;,&#39;字符串2&#39;....)
        var str=&#39;andy&#39;;
        console.log(str.concat(&#39;red&#39;));
//2. substr(&#39;截取的起始位置&#39;,&#39;截取几个字符&#39;);
        var str1=&#39;改革春风吹满地&#39;;
        console.log(str1.substr(2,2));  //第一个2 是索引号的 2 从第几个开始  第二个2 是取几个字符
登入後複製
// 1.替换字符 replace(&#39;被替换的字符&#39;,&#39;替换为的字符&#39;)  它只会替换第一个字符
        var str = &#39;andyandy&#39;;
        console.log(str.replace(&#39;a&#39;, &#39;b&#39;));
        // 有一个字符串 &#39;abcoefoxyozzopp&#39; 要求把里面所有的 o 替换为 *
        var str1 = &#39;abcoefoxyozzopp&#39;;
        while (str1.indexOf(&#39;o&#39;) !== -1) {
            str1 = str1.replace(&#39;o&#39;, &#39;*&#39;);
        }
        console.log(str1);
// 2.字符转换为数组 split(&#39;分隔符&#39;)    join 把数组转换为字符串
        var str2 = &#39;red,pink,blue&#39;;
        console.log(str2.split(&#39;,&#39;));
        var str3 = &#39;red&pink&blue&#39;;
        console.log(str3.split(&#39;&&#39;));
登入後複製
  • toUpperCase()   //转换大写
  • toLowerCase()    //转换小写

【相关推荐:javascript学习教程

以上是javascript中是否有內建對象的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
如何使用WebSocket和JavaScript實現線上語音辨識系統 如何使用WebSocket和JavaScript實現線上語音辨識系統 Dec 17, 2023 pm 02:54 PM

如何使用WebSocket和JavaScript實現線上語音辨識系統引言:隨著科技的不斷發展,語音辨識技術已成為了人工智慧領域的重要組成部分。而基於WebSocket和JavaScript實現的線上語音辨識系統,具備了低延遲、即時性和跨平台的特點,成為了廣泛應用的解決方案。本文將介紹如何使用WebSocket和JavaScript來實現線上語音辨識系

WebSocket與JavaScript:實現即時監控系統的關鍵技術 WebSocket與JavaScript:實現即時監控系統的關鍵技術 Dec 17, 2023 pm 05:30 PM

WebSocket與JavaScript:實現即時監控系統的關鍵技術引言:隨著互聯網技術的快速發展,即時監控系統在各個領域中得到了廣泛的應用。而實現即時監控的關鍵技術之一就是WebSocket與JavaScript的結合使用。本文將介紹WebSocket與JavaScript在即時監控系統中的應用,並給出程式碼範例,詳細解釋其實作原理。一、WebSocket技

如何利用JavaScript和WebSocket實現即時線上點餐系統 如何利用JavaScript和WebSocket實現即時線上點餐系統 Dec 17, 2023 pm 12:09 PM

如何利用JavaScript和WebSocket實現即時線上點餐系統介紹:隨著網路的普及和技術的進步,越來越多的餐廳開始提供線上點餐服務。為了實現即時線上點餐系統,我們可以利用JavaScript和WebSocket技術。 WebSocket是一種基於TCP協定的全雙工通訊協議,可實現客戶端與伺服器的即時雙向通訊。在即時線上點餐系統中,當使用者選擇菜餚並下訂單

如何使用WebSocket和JavaScript實現線上預約系統 如何使用WebSocket和JavaScript實現線上預約系統 Dec 17, 2023 am 09:39 AM

如何使用WebSocket和JavaScript實現線上預約系統在當今數位化的時代,越來越多的業務和服務都需要提供線上預約功能。而實現一個高效、即時的線上預約系統是至關重要的。本文將介紹如何使用WebSocket和JavaScript來實作一個線上預約系統,並提供具體的程式碼範例。一、什麼是WebSocketWebSocket是一種在單一TCP連線上進行全雙工

JavaScript與WebSocket:打造高效率的即時天氣預報系統 JavaScript與WebSocket:打造高效率的即時天氣預報系統 Dec 17, 2023 pm 05:13 PM

JavaScript和WebSocket:打造高效的即時天氣預報系統引言:如今,天氣預報的準確性對於日常生活以及決策制定具有重要意義。隨著技術的發展,我們可以透過即時獲取天氣數據來提供更準確可靠的天氣預報。在本文中,我們將學習如何使用JavaScript和WebSocket技術,來建立一個高效的即時天氣預報系統。本文將透過具體的程式碼範例來展示實現的過程。 We

簡易JavaScript教學:取得HTTP狀態碼的方法 簡易JavaScript教學:取得HTTP狀態碼的方法 Jan 05, 2024 pm 06:08 PM

JavaScript教學:如何取得HTTP狀態碼,需要具體程式碼範例前言:在Web開發中,經常會涉及到與伺服器進行資料互動的場景。在與伺服器進行通訊時,我們經常需要取得傳回的HTTP狀態碼來判斷操作是否成功,並根據不同的狀態碼來進行對應的處理。本篇文章將教你如何使用JavaScript來取得HTTP狀態碼,並提供一些實用的程式碼範例。使用XMLHttpRequest

javascript如何使用insertBefore javascript如何使用insertBefore Nov 24, 2023 am 11:56 AM

用法:在JavaScript中,insertBefore()方法用於在DOM樹中插入一個新的節點。這個方法需要兩個參數:要插入的新節點和參考節點(即新節點將要插入的位置的節點)。

JavaScript與WebSocket:打造高效率的即時影像處理系統 JavaScript與WebSocket:打造高效率的即時影像處理系統 Dec 17, 2023 am 08:41 AM

JavaScript是一種廣泛應用於Web開發的程式語言,而WebSocket則是一種用於即時通訊的網路協定。結合二者的強大功能,我們可以打造一個高效率的即時影像處理系統。本文將介紹如何利用JavaScript和WebSocket來實作這個系統,並提供具體的程式碼範例。首先,我們需要明確指出即時影像處理系統的需求和目標。假設我們有一個攝影機設備,可以擷取即時的影像數

See all articles