JavaScript中数组;JavaScript中对象及方法;笔记分享;知识回顾

一,JS中数组

数组创建4种语法:

<!DOCTYPE html>
<html>
        <head>
                <meta charset="UTF-8">
                <title></title>
                <script>
                        /*第一种
                         *创建了一个空数组 new Array();
                         * */
                        var arr=new Array();
                        arr[0]=1;
                        console.log(arr);
                        
                        /*
                         *第二种
                         * 创建定长数组 new Array(5);
                         * */
                        var arr2=new Array(5);
                        arr2[0]="x";
                        arr2[4]=true;
                        console.log(arr2)
                        
                        
                        /*
                         * 第三种创建语法
                         * 创建时,直接指定元素值
                         * */
                        
                        var arr3=new Array("asdf",10,20.3,true);
                        console.log(arr3)
                        
                        
                        /*
                         *第四种语法
                         * 相当于第三种语法的简写
                         * */
                        var arr4=["asdf",10,20.3,true];
                        console.log(arr4)
                        
                </script>
        </head>
        <body>
        </body>
</html>

数组元素及长度特征

<!DOCTYPE html>
<html>
        <head>
                <meta charset="UTF-8">
                <title></title>
                <script type="text/javascript">
                        var arr=[11,22,33];
                        console.log(arr)
                        console.log(arr[0]);
                        console.log(arr.length)
                        
                        /*
                         * JS中的数组是可以通过修改length属性来改变数组长度的
                         * */
                        arr.length=5;
                        console.log(arr)
                        /*
                         * JS的数组可以通过索引改变数组的长度
                         * */
                        arr[9]=99;
                        console.log(arr);
                        
                </script>
        </head>
        <body>
        </body>
</html>

数组遍历

<!DOCTYPE html>
<html>
        <head>
                <meta charset="UTF-8">
                <title></title>
                <script>
                        var arr=[5,7,3,1,6,2,4,9,8];
                        /*
                         * 普通for循环遍历数组
                         * */
                        for(var i=0;i<arr.length;i++){
                                console.log(arr[i])
                        }
                        
                        /*
                         *foreach循环遍历数组
                         * JS 中foreach写法为  for( var i in 数组)
                         * i 不是元素  是索引
                         * */
                        for (var i in arr){
                                console.log(arr[i])
                        }
                        
                </script>
        </head>
        <body>
        </body>

数组常用方法

<!DOCTYPE html>
<html>
        <head>
                <meta charset="UTF-8">
                <title></title>
                <script>
                        var arr=[1,2,3,4,5,6,7,8,9];
                        var index =arr.indexOf(7);//查询元素索引的方法
                        console.log(index)
                        
                        // 合并两个数组
                        var hege = ["Cecilie", "Lone"];
                        var stale = ["Emil", "Tobias", "Linus"];
                        var children = hege.concat(stale);
                        console.log(children)
                        
                        // 合并三个数组
                        var parents = ["Jani", "Tove"];
                        var brothers = ["Stale", "Kai Jim", "Borge"];
                        var children = ["Cecilie", "Lone"];
                        var family = parents.concat(brothers, children);
                        console.log(family)
                        
                        
                        // 合并字符串
                        var fruits = ["Banana", "Orange", "Apple", "Mango"];
                        var fs =fruits.join();
                        console.log(fs)
                        
                        
                        // 移除最后一个元素
                        var fruit=fruits.pop();
                        console.log(fruits)
                        console.log(fruit)
                        
                        // 想结尾增加元素
                        fruits.push("Grape");
                        console.log(fruits)
                        
                        
                        //反转数组
                        fruits.reverse();
                        console.log(fruits)
                        
                        //删除数组第一个元素
                        var ss =fruits.shift();
                        console.log(fruits);
                        console.log(ss)
                        
                        //向第一个位置添加元素
                        fruits.unshift("火龙果");
                        console.log(fruits);
                        
                        // 截取子数组  从哪个索引开始,到哪个索引结束 包头不包尾
                        
                        var citrus = fruits.slice(1,3);
                        console.log(citrus)
                        
                        var numbers =[1,2,3,4,5,6,7,8,9]
                        /*
                         * 删除数组中的某些元素
                         * 2 从哪个索引开始删除
                         * 3 删除多个少个元素
                         * */
                        /*numbers.splice(2,3);
                        console.log(numbers)*/
                        /*
                         * 如果第二个参数是0 那么就变成了在指定索引位置增加元素
                         * */
                        numbers.splice(2,0,100);
                        console.log(numbers)
                </script>
        </head>
        <body>
        </body>
</html>

二,JS中的对象

JS常用对象:

        JS基于对象的脚本语言 ,有类和对象,但是没有封装,继承,多态,Java script 中有一些浏览器直接识别并使用的对象,常见的对象有Array,String对象,Math对象,Number对象,Date对象等等.

String对象

方法


charAt()    返回在指定位置的字符。
charCodeAt()    返回在指定的位置的字符的 Unicode 编码。
concat()    连接两个或更多字符串,并返回新的字符串。
fromCharCode()    将 Unicode 编码转为字符。
indexOf()    返回某个指定的字符串值在字符串中首次出现的位置。
includes()    查找字符串中是否包含指定的子字符串。
lastIndexOf()    从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。
match()    查找找到一个或多个正则表达式的匹配。
repeat()    复制字符串指定次数,并将它们连接在一起返回。
replace()    在字符串中查找匹配的子串, 并替换与正则表达式匹配的子串。
search()    查找与正则表达式相匹配的值。
slice()    提取字符串的片断,并在新的字符串中返回被提取的部分。
split()    把字符串分割为字符串数组。
startsWith()    查看字符串是否以指定的子字符串开头。
substr()    从起始索引号提取字符串中指定数目的字符。
substring()    提取字符串中两个指定的索引号之间的字符。
toLowerCase()    把字符串转换为小写。
toUpperCase()    把字符串转换为大写。
trim()    去除字符串两边的空白
toLocaleLowerCase()    根据本地主机的语言环境把字符串转换为小写。
toLocaleUpperCase()    根据本地主机的语言环境把字符串转换为大写。
valueOf()    返回某个字符串对象的原始值。
toString()    返回一个字符串。


例:

<!DOCTYPE html>
<html>
        <head>
                <meta charset="UTF-8">
                <title></title>
                <script>
                        
                        // 根据索引获取字符
                        /*var str ="hello js";
                        var c =str.charAt(6);
                        console.log(c)*/
                        
                        // 拼接字符串
                        
                        var a="hi";
                        var b="good";
                        var c ="China";
                        
                        var d=c.concat(a,b);
                        console.log(d)
                        
                        
                        var e ="adsf";
                        var f=e.repeat(3);
                        console.log(f)
                        
                        
                        // 截取字符串
                        var g="helloJhon";
                        var h=g.substr(1,5);// 从哪里开始,连续截取多少个字符
                        console.log(h)
                        // 包头不包尾
                        var i=g.substring(1,7);// 从哪里开始,到哪里结束
                        console.log(i)
                        
                        // 获取长度
                        console.log(g.length)// length属性
                        
                        
                        // JS中非常特殊的一个函数,可以将一段字符串当做JS代码来执行
                        // 将字符串内容解析称JS代码并运行
                        var testStr=" var x =10 ";
                        eval(testStr);
                        console.log(x)
                        
                </script>
        </head>
        <body>
        </body>
</html>

Number对象

属性


Number.MAX_VALUE    最大值
Number.MIN_VALUE    最小值
Number.NaN    非数字
Number.NEGATIVE_INFINITY    负无穷,在溢出时返回
Number.POSITIVE_INFINITY    正无穷,在溢出时返回
Number.EPSILON       
表示 1 和比最接近 1 且大于 1 的最小 Number 之间的差别
Number.MIN_SAFE_INTEGER    最小安全整数。
Number.MAX_SAFE_INTEGER    最大安全整数。


 
数字方法


Number.parseFloat()    将字符串转换成浮点数,和全局方法 parseFloat() 作用一致。
Number.parseInt()       
将字符串转换成整型数字,和全局方法 parseInt() 作用一致。
Number.isFinite()    判断传递的参数是否为有限数字。
Number.isInteger()    判断传递的参数是否为整数。
Number.isNaN()    判断传递的参数是否为 isNaN()。
Number.isSafeInteger()    判断传递的参数是否为安全整数。

例:

<!DOCTYPE html>
<html>
        <head>
                <meta charset="UTF-8">
                <title></title>
                <script>
                        console.log(Number.MAX_VALUE)
                        console.log(Number.MIN_VALUE)
                        console.log(Number.MAX_SAFE_INTEGER)
                        console.log(Number.MIN_SAFE_INTEGER)
                        
                        
                        console.log(Number.parseFloat("10.123")+20);
                        console.log(Number.parseInt("30")+20);
                        
                        
                        var i = 10%0;
                        var j = 10/0;
                        console.log(i)
                        console.log(j)
                        console.log(Number.isNaN(i)) // is not a number 是不是NAN
                        console.log(Number.isFinite(j))
                        console.log(Number.isSafeInteger(Number.MAX_VALUE))
                        console.log(Number.isSafeInteger(Number.MAX_SAFE_INTEGER))
                        
                </script>
        </head>
        <body>
        </body>
</html>

Math对象 

<!DOCTYPE html>
<html>
        <head>
                <meta charset="UTF-8">
                <title></title>
                <script>
                        console.log(Math.round(3.64))
                        console.log(Math.floor(3.14))// 地板数
                        console.log(Math.ceil(3.01))// 天花板数
                        console.log(Math.max(1,2,3,5.6))
                        console.log(Math.min(1,2,3,5.6))
                        console.log(Math.random())
                        console.log(Math.sqrt(16))
                        // 属性
                        console.log(Math.PI)
                        // 生成给定范围内的随机数
                        
                        var start =10;
                        var end =16;
                        var result =Math.floor(Math.random()*(end-start+1)+start);
                        console.log(result)
                        
                        
                </script>
        </head>
        <body>
        </body>
</html>

Date对象

创建Date对象

以下四种方法同样可以创建 Date 对象:

var d = new Date();
var d = new Date(milliseconds);
var d = new Date(dateString);
var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);

方法



getDate()    从 Date 对象返回一个月中的某一天 (1 ~ 31)。
getDay()    从 Date 对象返回一周中的某一天 (0 ~ 6)。
getFullYear()    从 Date 对象以四位数字返回年份。
getHours()    返回 Date 对象的小时 (0 ~ 23)。
getMilliseconds()    返回 Date 对象的毫秒(0 ~ 999)。
getMinutes()    返回 Date 对象的分钟 (0 ~ 59)。
getMonth()    从 Date 对象返回月份 (0 ~ 11)。
getSeconds()    返回 Date 对象的秒数 (0 ~ 59)。
getTime()    返回 1970 年 1 月 1 日至今的毫秒数。
getTimezoneOffset()    返回本地时间与格林威治标准时间 (GMT) 的分钟差。
getUTCDate()    根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。
getUTCDay()    根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。
getUTCFullYear()    根据世界时从 Date 对象返回四位数的年份。
getUTCHours()    根据世界时返回 Date 对象的小时 (0 ~ 23)。
getUTCMilliseconds()    根据世界时返回 Date 对象的毫秒(0 ~ 999)。
getUTCMinutes()    根据世界时返回 Date 对象的分钟 (0 ~ 59)。
getUTCMonth()    根据世界时从 Date 对象返回月份 (0 ~ 11)。
getUTCSeconds()    根据世界时返回 Date 对象的秒钟 (0 ~ 59)。
getYear()    已废弃。 请使用 getFullYear() 方法代替。
parse()    返回1970年1月1日午夜到指定日期(字符串)的毫秒数。
setDate()    设置 Date 对象中月的某一天 (1 ~ 31)。
setFullYear()    设置 Date 对象中的年份(四位数字)。
setHours()    设置 Date 对象中的小时 (0 ~ 23)。
setMilliseconds()    设置 Date 对象中的毫秒 (0 ~ 999)。
setMinutes()    设置 Date 对象中的分钟 (0 ~ 59)。
setMonth()    设置 Date 对象中月份 (0 ~ 11)。
setSeconds()    设置 Date 对象中的秒钟 (0 ~ 59)。
setTime()    setTime() 方法以毫秒设置 Date 对象。
setUTCDate()    根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。
setUTCFullYear()    根据世界时设置 Date 对象中的年份(四位数字)。
setUTCHours()    根据世界时设置 Date 对象中的小时 (0 ~ 23)。
setUTCMilliseconds()    根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。
setUTCMinutes()    根据世界时设置 Date 对象中的分钟 (0 ~ 59)。
setUTCMonth()    根据世界时设置 Date 对象中的月份 (0 ~ 11)。
setUTCSeconds()    setUTCSeconds() 方法用于根据世界时 (UTC) 设置指定时间的秒字段。
setYear()    已废弃。请使用 setFullYear() 方法代替。
toDateString()    把 Date 对象的日期部分转换为字符串。
toGMTString()    已废弃。请使用 toUTCString() 方法代替。
toISOString()    使用 ISO 标准返回字符串的日期格式。
toJSON()    以 JSON 数据格式返回日期字符串。
toLocaleDateString()    根据本地时间格式,把 Date 对象的日期部分转换为字符串。
toLocaleTimeString()    根据本地时间格式,把 Date 对象的时间部分转换为字符串。
toLocaleString()    根据本地时间格式,把 Date 对象转换为字符串。
toString()    把 Date 对象转换为字符串。
toTimeString()    把 Date 对象的时间部分转换为字符串。
toUTCString()    根据世界时,把 Date 对象转换为字符串                         

                        var today = new Date();
                        var UTCstring = today.toUTCString();
                        UTC()    根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。
                        valueOf()    返回 Date 对象的原始值。

<!DOCTYPE html>
<html>
        <head>
                <meta charset="UTF-8">
                <title></title>
                <script>
                        /*
                         * 在程序中 西方的月份编号从0开始
                         * 1 2 3 4 5 6 
                         * 0 1 2 3 4 5
                         * */
                        var today = new Date()
                        var d1 = new Date("October 13, 1975 11:13:00")
                        var d2 = new Date(79,5,24)
                        var d3 = new Date(79,5,24,11,33,0)
                        console.log(d1);
                        console.log(d2);
                        console.log(d3);
                        
                        
                        var d4 = new Date(2048,0,13,16,51,20,123)
                        console.log(d4)
                        // set***  略自己尝试一下
                        console.log(d4.getYear());// 和1900年的年份差
                        console.log(d4.getFullYear());// 完整的年份
                        console.log(d4.getMonth());
                        console.log(d4.getDate());
                        console.log(d4.getHours());
                        console.log(d4.getMinutes());
                        console.log(d4.getSeconds());
                        console.log(d4.getMilliseconds());
                        var d5 = new Date(2048,0,13,16,51,20,456)
                        console.log(d4<d5)
                        
                        
                        // 关于日期对象格式化处理
                        /*date对象的格式化方法*/
                        /*修改Date原型,添加一个format格式化的方法*/
                        Date.prototype.format = function(fmt){
                          var o = {
                            "M+" : this.getMonth()+1,                 //月份
                            "d+" : this.getDate(),                    //日
                            "h+" : this.getHours(),                   //小时
                            "m+" : this.getMinutes(),                 //分
                            "s+" : this.getSeconds(),                 //秒
                            "q+" : Math.floor((this.getMonth()+3)/3), //季度
                            "S"  : this.getMilliseconds()             //毫秒
                          };
                        
                          if(/(y+)/.test(fmt)){
                            fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
                          }
                                
                          for(var k in o){
                            if(new RegExp("("+ k +")").test(fmt)){
                              fmt = fmt.replace(
                                RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));  
                            }       
                          }
                          return fmt;
                        }
                        
                        
                        var fmt=d4.format("yyyy-MM-dd hh:mm:ss");
                        console.log(fmt)
                        
                </script>
        </head>
        <body>
        </body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值