1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 对象 内置对象 数组对象 字符串对象的使用

对象 内置对象 数组对象 字符串对象的使用

时间:2020-08-28 07:53:27

相关推荐

对象 内置对象 数组对象 字符串对象的使用

概念:无序的相关属性和方法的集合

组成:属性、方法

属性:特征

方法:行为

创建对象三种方式:

1、利用对象字面量创建对象{}

var obj={};//创建一个空对象var obj ={uname:"qwe",age:12,sex:"男",sayHi:function() {console.log("hi~");}}2、使用对象console.log(obj.uname);//第一种console.log(obj["age"]);//第二种3、调用方法obj.sayHi();eg:var obj={};var obj= {//定义属性name:"可可",class:"阿拉斯加犬",age:5,color:"棕红色",//定义方法jiNeng:function() {console.log("汪汪汪~");console.log("演电影");}}console.log(obj.name,obj.class,obj.age,obj.color);obj.jiNeng();

2、利用new object创建对象

var obj=new Object();obj.uname="name";obj.age=12;obj.sayHi= function() {consoloe.log(.);}eg:var obj=new Object();obj.uname="鸣人";obj.sex="男";obj.age=19;obj.sayHi=function() {console.log("影分身术");}console.log(obj.uname,obj.sex,obj.age);obj.sayHi();

3、构造函数创建对象(不需要retrurn返回值)

function 构造函数() {//构造函数名首字母大写this.属性=值;this.方法=function(){}}new 构造函数名();//用new关键字调用构造函数eg:function Yx(name,type,red) {this.name=name;this.type=type;this.red=red;this.gong=function(gong) {console.log(gong);}}var LinaPo=new Yx("廉颇","力量型","500血量");console.log(LinaPo);LinaPo.gong("近战");var HouYi=new Yx("后裔","射手型","100血量");HouYi.gong("原战");console.log(HouYi);

遍历对象(用for in)

for(var 变量 in 对象) {console.log(k);//输出属性名console.log(obj[k]);//输出属性值eg:var obj={name:"老师",age:18,sex:"男"}for(var k in obj) {console.log(k);//name,age.sexconsole.log(obj[k]);//老师,18,男

内置对象

定义:js自带的一些对象,提供常用的属性和方法

查阅内置对象参考文档:MDN Web Docs

时间戳:获得总毫秒数(距离1970年1月1日)

// 1、通过以下两种获取 var date=new Date();console.log(date.valueOf());console.log(date.getTime());// 2、简单写法var date1 =+new Date();console.log(date1);// 3 H5 新增获取console.log(Date.now());

eg:Dete() 日期对象,是一个构造函数,必须使用new来调用创建

1、无参var date =new Date();console.log(date);//显示当当前日期2、2.1数字参数var date1=new Date(,10,1);console.log(date1);/11/12.2字符串参数var date2=new Date("-10-1 8:8:8");console.log(date2);///10/1 8:8:8

格式化日期年月日1月3日 星期一

var date=new Date();var year=date.getFullYear();//年var month=date.getMonth()+1;//月var dates=date.getDate();//日var arr=["星期天","星期一","星期二","星期三","星期四","星期五","星期六"];var day=date.getDay();//获取星期var hours=date.getHours();//获取小时数var minutes=date.getMinutes();//获取分钟数var second=date.getSeconds();//获取秒数console.log(`今天是:${year}年 ${month}月 ${dates}日 星期${day} ${hours}时 ${minutes}分 ${second}秒`);

获取当前时间

function getTime() {var time=new Date();var h=time.getHours();h=h < 10 ? '0' +h:h;var m=time.getMinutes();m=m <10 ? '0' + m : m;var s =time.getSeconds();s=s < 10 ? '0' +s :s;return h+':' +m+':'+s;}console.log(getTime());

倒计时核心算法

/ d=parseInt(总秒数/60/60/24);//计算天数// h=parseInt(总秒数/60/60%24);//计算小时// m=parseInt(总秒数/60%60);//计算分数// s=parseInt(总秒数%60);//计算当前秒数

数组对象

检测是否为数组的两种方式

1、instanceof

var arr=[];var obj={};console.log(arr instanceof Array);//返回trueconsole.log(obj instanceof Array);//返回false

2、Array.isArray(参数); h5新增方法 ie9以上版本支持

var arr=[];var obj={};console.log(Array.isArray(arr));//返回trueconsole.log(Array.isArray(obj));//返回false

添加删除数组元素

1、 push(参数) 在数组后面添元素 用了之后直接输出数组arr.push(元素)返回的是数组长度

2、unshift(参数)在数组的开头,添加元素 用了之后直接输出数组arr.unshift(元素)返回的是数组长度

3、pop() 删除最后一个元素(一次只能删一次) 不需要参数 用了之后直接输出数组arr.pop()返回的是删除的元素的值

4、shift() 删除第一个元素 不需要参数 用了之后直接输出数组arr.pop()返回的是删除的元素

数组排序

reverse() 颠倒数组顺序 改变原数组 返回新数组 (翻转数组)

var arr =[1,2,3];arr.reverse();console.log(arr);//3,2,1

sort([compareFunction]) 对数组排序 改变原数组 返回新数组 如果没有函数,元素按照Unicode位点排序

冒泡排序var arr =[1,3,2];arr.sort(function(a,b){ return a-b; //升序return b-a;//降序});console.log(arr);//3,2,1

数组索引方法

indexOf (数组元素) 查找数组第一个满足元素索引 如果在数组中找不到元素 返回-1

lastIndexOf(数组元素) 查找数组最后一个满足元素索引 如果在数组中找不到元素 返回-1

数组转换为字符

toString()

var arr=[1,2,3];console.log(arr.toString());//1,2,3

join(分隔符)

var arr=[1,2,3];console.log(arr.join());//1,2,3console.log(arr.join(-));//1-2-3

字符串对象

基本包装类型 :把简单的数据类型包装为复杂数据类型

执行过程:

生成临时变量,把简单类型包装成为复杂数据类型var temp=new String('adcd');赋值给我们声明的字符变量str=temp;销毁临时变量temp=null;

字符串不可变:就是重新赋值也是在内存中重新开辟空间,字符串名称指向新的值,旧的依然存在

根据字符返回位置

根据字符串返回位置 str.indexOf("要查找的字符",[起始的位置]);var str='我的钱,钱没了';console.log(str.indexOf('钱'));//2console.log(str.indeOf('钱',3));//从索引号3开始往后查找

字符串对象返回字符位置案例

<script>var str="abcoefoxyozzopp";var index=str.indexOf('o');var num=0;while(index!==-1) {console.log(index);num++;index=str.indexOf('o',index+1);}console.log('o出现的次数是:'+num);</script>

根据位置返回字符

charAt(index) :返回指定位置的字符(index字符串的索引号) str.charAt(0)

charCodeAt(index) :返回指定位置处字符的ASCLL码(index字符串的索引号)str.charCodeAt(0)

目的:判断用户按下的按下的哪个键

str[index] :获取指定位置的字符(index字符串的索引号) HTML5,IE8+支持和charAt()等效

eg:统计出现最多的字符和次数

核心算法:利用charAt() 遍历这个字符串把每个字符串都存储给对象,如果对象没有该属性,就为1,如果存在就+1遍历对象,得到最大值和该字符var str="abcoefoxyozzopp";var o={};for(var i=0;i<str.length;i++){var chars=str.charAt(i);//char是字符串的每一个字符if(o[chars]) {//o[chars]得到的是属性值o[chars]++;} else {o[chars]=1;}}console.log(o);var max=0;for(var k in o) {//k得到的是属性名//o[k]得到的四属性值if(o[k]>max) {max=o[k];ch=k;}}console.log(max);console.log("最多的字符是“+ch);

concat(str1,str2,str3):方法用于连接两个或多个字符串,拼接字符串,等效于+,

var str='andy';console.log(str.concat('red');//andyred

substr(start,length) :从start位置开始(索引号),length取得个数,重点记这个

var str1="我的苹果";console.log(str1.substr(1,2));//苹果

slice(start,end) :从start位置开始,截取到end位置,end取不到 索引号

substring(start,end)::从start位置开始,截取到end位置,end 取不到 基本和slice相同 但是不接受负值

替换字符 replace("被替换的字符”,‘替换为的字符’);

var str='andy';console.log(str.replace('a','b');//bndy把所有o替换成*var str="abcoefoxyozzopp";while(str1.indexOf('o') !==-1) {str =str.replace('o','*');}console.log(str1);

字符转换为数组 split("分隔符“);

var str2='red,str,blue';console.log(str.split(',');//[red,str,bule]

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。