对象、内置对象、数组对象、字符串对象的使用
概念:无序的相关属性和方法的集合
组成:属性、方法
属性:特征
方法:行为
创建对象三种方式:
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.sex
console.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(2019,10,1);
console.log(date1);2019/11/1
2.2字符串参数
var date2=new Date("2022-10-1 8:8:8");
console.log(date2);//2022/10/1 8:8:8
格式化日期年月日2022年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);//返回true
console.log(obj instanceof Array);//返回false
2、Array.isArray(参数); h5新增方法 ie9以上版本支持
var arr=[];
var obj={};
console.log(Array.isArray(arr));//返回true
console.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,3
console.log(arr.join(-));//1-2-3
字符串对象
基本包装类型 :把简单的数据类型包装为复杂数据类型
执行过程:
生成临时变量,把简单类型包装成为复杂数据类型
var temp=new String('adcd');
赋值给我们声明的字符变量
str=temp;
销毁临时变量
temp=null;
字符串不可变:就是重新赋值也是在内存中重新开辟空间,字符串名称指向新的值,旧的依然存在
根据字符返回位置
根据字符串返回位置 str.indexOf("要查找的字符",[起始的位置]);var str='我的钱,钱没了';
console.log(str.indexOf('钱'));//2
console.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]
对象、内置对象、数组对象、字符串对象的使用相关推荐
- php 字符串数组转数组对象_php怎么将数组转成对象?
php将数组转成对象的方法:1.使用数据类型转换,在数组变量前添加"(Object)"来将数组转成对象.2.先使用json_encode()函数将数组转换为json字符串:然后使用 ...
- JS-内置对象内置构造函数事件-拖拽轮播图无缝滚动
内置对象&内置构造函数 日期时间格式 // 创建一个当前时刻的日期时间对象 var date = new Date(); // 获取date对象中的年月日时分秒 var y = date.ge ...
- JavaScript对象与内置对象——内置对象(二)
内置对象 JavaScript中的对象分为3种:自定义对象.内置对象,浏览器对象 前两种对象是js基础内容,属于ECMAScript;的三个浏览器对象属于我们JS独有的. JavaScript提供多个 ...
- Python_序列对象内置方法详解_String
目录 目录 前言 软件环境 序列类型 序列的操作方法 索引调用 切片运算符 扩展切片运算符 序列元素的反转 连接操作符 重复运算符 成员关系符 序列内置方法 len 获取序列对象的长度 zip 混合两 ...
- python——常见内置函数、可迭代对象与迭代器对象
目录 一.常见内置函数 1.abs() 2.all()与any() 3.bin() oct() hex() 4.int() 5.bytes() 6.callable() 7.chr() ord() 8 ...
- junit5_JUnit 5和Selenium –使用Selenium内置的`PageFactory`实现页面对象模式
junit5 Selenium是一组支持浏览器自动化的工具和库,主要用于Web应用程序测试. Selenium的组件之一是Selenium WebDriver,它提供客户端库,JSON有线协议(与浏览 ...
- 07JavaScript数组与字符串对象
JavaScript数组与字符串对象 5.1.1数组(Array)对象 <script> //声明一个数组并赋值; var arr = new Array("aa",& ...
- 以下哪个不是python的内置函数_以下哪个 Python 内置函数可以返回列表对象中元素个数。...
[多选题]假设 x=[0,1,2,3],执行哪些语句之后,x 的值为[0, 1, 2]. [多选题]以下哪些对象的分隔符为逗号. [单选题]已知列表 x=[0,1,2,1,4],那么执行语句 del ...
- 3.js中判断数组中是否存在某个对象/值,判断数组里的对象是否存在某个值 的五种方法 及应用场景|判断数组里有没有某对象,有不添加,没有则添加到数组
3.js中判断数组中是否存在某个对象/值,判断数组里的对象是否存在某个值 的五种方法 及应用场景 一.当数组中的数据是简单类型时: 应用js中的indexof方法:存在则返回当前项索引,不存在则返回 ...
- IOS内置safari浏览器日期字符串转Date对象失败
代码示例: <html> <head> <title>Date字符串转化示例</title> </head> <body> &l ...
最新文章
- Java学习总结:25
- 解决:无法创建该DNS 服务器的委派
- DTU详解解读 概念到功能应用
- 十大编程算法助程序员走上高手之路
- Blocks与Dispatch Queue的使用
- java3d box 坐标,3d transform的坐标空间及位置
- 网络流24题1 飞行员配对方案问题
- Scrapy中文乱码
- 四、ip classless与默认路由
- 使用Chrome Frame,彻底解决浏览器兼容问题
- JS实现自动填写问卷【JS小工具】
- 非线性声学回声消除技术
- html 透明玻璃效果,PS教程:制作透明玻璃效果(一)
- 新周刊:放弃北上广的10个理由
- 论文的关键词应该如何选取?
- MYSQL数据库实验三多表查询_MYSQL数据库语句之多表操作(三)
- 2021美赛Latex排版美化 完整代码1
- 算法基础复盘笔记Day12【贪心算法】—— 区间问题、Huffman树、排序不等式、绝对值不等式、推公式
- 前端状态机:XState 首个中文文档上线了
- H.264码率控制算法研究及JM相应代码分析(二)
热门文章
- 向日葵控制服务器显示颜色不对,使用向日葵控制软件后电脑窗口的外观就改变了还不透明了。怎么办?...
- 网页代码扒ppt_案例分析:教你如何扒掉麦肯锡式PPT的光鲜亮丽皮
- 后台管理系统的权限以及vue处理权限的思路
- 机械臂动力学建模(3)- Newton Euler牛顿欧拉算法
- USB接口定义;miniUSB接口定义
- 易语言教程数据库修改记录
- Altera Cyclone IV系列命名规则
- 北京信息科技大学第十一届程序设计竞赛(重现赛)A kotori和糖果
- 解决 android 输入法弹出输入框被遮挡的问题
- 划词搜索被ewido视为高风险Adware.wSerarch