js基础知识之_对象
javascript 对象
1.基于对象
一切皆对象,以对象的概念来编程
2.面向对象的编程(oop,Object oriented programming)
1.对象
就是人们要研究的任何事物,不仅能表示具体事物。对象的规则,计划或事件
属性的无序集合,每个属性可以存一个值(原始值,)
2,对象的属性和行为
属性:用数据值来描述他的状态
方法:用来改变对象行为的方法
3类
具有相同或相似的性质的对象的抽象就是类,对象的类的具体化(实例化) 就叫做对象
var diannao=‘’;//声明的是字符串
var diannao=[];//声明的是数组
var diannao={};//声明的是对象
//javascript对象创建,
在对象里面属性(变量),方法(函数)之间都是要逗号隔开,不能用分号
var mac = { pingpai: '苹果笔记本', price: '10000元', color: '白色', qq:function () { alert( '能聊天' ) }, game:function () { alert('能玩游戏')} };
//直接调用属性
alert( mac.pingpai );
//函数不能直接alert.
mac.qq();
//javascript对象创建,
//对象就是一堆变量和函数的集合体
//原生形式创建对象,json数据格式
var mac = {
pinpai: '苹果笔记本',
price: '10000元',
color: '白色',
qq: function () {
alert( '能聊天' )
},
game: function () {
alert( '能玩游戏' )
}
}; //直接调用属性
alert( mac.pinpai );
//还可以有以下的方式
alert( mac['pinpai'] ); //调用函数不能直接alert.
mac.qq();
mac['qq'](); //添加属性方法
mac.size = '16英寸';
mac.work = function () {
alert('办公');
}; //删除属性(变量)和方法(函数)
delete mac.color;
alert('苹果笔记本颜色'+mac.color);
创建声明对象
对象可以随时删除和添加变量和函数
1,json方法(javascript object notation)原生格式
var obj={};
json是一种数据格式
其实json类型的数据可以传回一个整体的数据,是属性名:值类型,如果想要获取数据的话,就直接obj点的形式读取
例子:网站请求---》数据库端查询----》查询出所有结果返回一个json格式----》用obj接收之后----》再选取适合的数据
var obj={name:'准求的完美',age:{18},sex:'爷们'}
alert(obj.name);
2,构造函数的方法:
function fun1(){
this.name='名字';
}
3,Object方法
var obj=new Object();
添加属性和方法
如果属性的值是函数,我们叫做他是对象的方法 属性
构造方法
1,声明的时候添加
2,声明以后再添加
json方法
1.声明的时候添加
var obj={属性名:属性值,属性名2:属性值2,属性名3:属性值3,.......};
2.声明以后再添加
对象属性的遍历
for(var i in Object){
Object[i]
}
//遍历对象
//x就像是爬虫一样,遍历mac的所有变量和函数
for ( x in mac ) {
document.write( x + '=>' + mac[x] + '<br/>' );
}
javascript数组对象
方法
直接对数组进行操作
1删除或添加类
1,,数组对象.push(数组元素.....)
向数组的末尾添加新的元素,返回值是新数组的长度,可以一次添加多个元素
2,数组对象.unshift(数组元素....)
向数组的开头加入新的元素,返回值是新数组的长度,可以一次添加多个元素
3,数组对象.pop()
删除数组的最后一个元素,返回删除的元素
4,数组对象.shift()
删除数组的第一个元素,返回删除的元素
5,万能的添加删除函数(用于插入,删除或者替换数组的元素。)
数组元素.splice(起始位置,数量,添加的元素.....)
(1)起始位置 从何处开始添加或删除,必须是数值类型(数组的下标)
(2)数量 规定了删除的个数,如果是0,则不删除
(3)需要添加的元素 ,可以当做替换的元素
(4)如果从数组中删除了元素,则返回的是含有被删除的元素
不直接改变数组,产生新的结果
数组的转换
数组.join(['分隔符'])
把数组元素按照指定分隔符组成一个字符串,如果没有指定分隔符。默认是用“,”返回结果就是组合成的字符串
var shuiguo = new Array( '苹果', '香蕉', '鸭梨', '火龙果', '西瓜', '葡萄', '蛇皮果' );
//将数组转换成字符串
var re = shuiguo.join( '&' );
document.write(re);
数组分隔
数组。slice()包含开始,不包含结束
从截取指定的开始位置,到结束位置(不包括)如果不指定结束位置,一直截取到最后,则从指定的开始位置的(数组的下标)
支持负数(-1开头)
返回新的数组
//数组截取
var shuiguo = new Array( '苹果', '香蕉', '鸭梨', '火龙果', '西瓜', '葡萄', '蛇皮果' ); //从什么位置开始截取
var re = shuiguo.slice( 0, 3 );
document.write(re);
属性
1.length
设置或返回数组元素的数目
Math对象(数学对象)
取绝对值
Math.abs(-6);
四舍五入
Math.round(2.5);
向上取整
var re=Math.ceil(2.35);
向下取整
var re=Math.floor(2.956);
取随机数。(无限接近于0.无限接近于1)
Math.random();
取X到Y之间的随机数:Math。random()*(y-x)+x;
取随机整数:Math.floor(Math.random()*(y+1-X)+x)
在0-5之间随机数
Math.random()*5;
在10-15之间的随机数
Math.random()*5+10;
1,练习自定义一个函数(删除数组的重复元素)
['a','d','c','c','b','h','y','h','h']
2.随机点名
3.30选7彩票抽奖效果
js基础知识之_对象的更多相关文章
- js基础知识之_入门变量和运算符
js页面效果学习 (轮播图,文字滚动效果等等) javascript能来做什么 1.数据验证 2.将动态的内容写入网页中(ajax) 3.可以对时间做出响应 4.可以读写html中的内容 5.可以检测 ...
- js基础知识之_函数
javascript函数 函数概念 将完成某一特定功能的代码集合起来,可以重复使用 白话函数理解-函数就是一个工厂,帮大家实现某一个功能 优点 -时程序更加简洁 -逻辑更有条例 -调用方便 -维护更加 ...
- js基础知识之_流程控制语句
javascript 流程控制 流程控制:就是程序代码执行顺序 流程控制:通过规定的语句让程序代码有条件的按照一定的方式执行 顺序结构 按照书写顺序来执行,是程序中最基本的流程结构 选择结构(分支结构 ...
- Js基础知识7-Es6新增对象Map和set数据结构
前言 JavaScript中对象的本质是键值对的集合,ES5中的数据结构,主要是用Array和Object,但是键只能是字符串.为了弥补这种缺憾,ES6带来了一种新的数据结构Map. Map也是键值对 ...
- [JS复习] JS 基础知识
项目结尾,空闲时间,又把<JS 基础知识> 这本书过了一遍,温故知新后,很多知其然不知其所以然的内容 豁然开朗. [1. 用于范围的标签] display :inline or bloc ...
- NodeJs>------->>第三章:Node.js基础知识
第三章:Node.js基础知识 一:Node.js中的控制台 1:console.log.console.info 方法 console.log(" node app1.js 1> ...
- JS基础知识笔记
2020-04-15 JS基础知识笔记 // new Boolean()传入的值与if判断一样 var test=new Boolean(); console.log(test); // false ...
- HTML+CSS+JS基础知识
HTML+CSS+JS基础知识 目录 对HTML+CSS+JS的理解 基础知识 对HTML+CSS+JS的理解 基础知识 插入样式表的三种方式 外部样式表:<link rel="sty ...
- Node.js基础知识
Node.js入门 Node.js Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始.比较独特的是,Node.js会假设在POSIX环境下运行 ...
随机推荐
- ARM学习笔记10——GNU ARM命令行工具
一.编译器arm-linux-gcc 1.用arm-linux-gcc编译一个程序,一般它是要经过如下步骤的: 1.1.预处理阶段 编译器把上述代码中stdio.h编译进来,使用GCC的选项-E可以使 ...
- 在Mac下如何开Wifi
1. 首先打开系统偏好设置,选择共享 2. 把互联网共享给勾上 在里面选择共享来源为以太网,共享方式为Wifi 3. 点开Wifi选项,在里面设置密码(如果需要设置密码的话) 4. 然后看状态栏上的W ...
- Codeforces 264B 数论+DP
题目链接:http://codeforces.com/problemset/problem/264/B 代码: #include<cstdio> #include<iostream& ...
- opencv 1.0 与 2.0的库对应表
libcvaux.so.2 -> /usr/lib/libopencv_video.so.2.2.0 libcv.so.2 -> /usr/lib/libopencv_legacy.so. ...
- useradd、passwd、userdel
useradd是新建用户 userdel -r 是删除用户 passwd是修改密码 groupadd是新建组 groupdel是删除组 useradd yonghu 为添加用户 echo " ...
- 问题-[Delphi]SendMessageTimeout调用后卡住点击任务栏还会出现窗体处理
问题现象:在使用SendMessageTimeout函数后,5秒后WIN把进程挂在起.这时把程序最小化(原因就是不想让用户看到卡的界面),但点击任务栏按钮界面还原了,拦截消息失败(原因是挂起后消息都放 ...
- POJ 1113 Wall 凸包求周长
Wall Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 26286 Accepted: 8760 Description ...
- 高性能MySql进化论(十一):常见查询语句的优化
总结一下常见查询语句的优化方式 1 COUNT 1. COUNT的作用 · COUNT(table.filed)统计的该字段非空值的记录行数 · ...
- (7/18)重学Standford_iOS7开发_视图、绘制、手势识别_课程笔记
第七课: 1.View 一般来说,视图是一个构造块,代表屏幕上一块矩形区域,定义了一个坐标空间,并在其中绘制及添加触控事件等. ①视图的层级关系 一个视图只能有一个父视图,可以有多个子视图 - ( - ...
- BSEG和BSIS、BSAS、BSID、BSAD、BSIK、BSAK六个表的关系(转)
BSEG和BSIS.BSAS.BSID.BSAD.BSIK.BSAK 六个表的关系 1.数据关系: BSAS+BSIS+BSAK+BSIK+BSAD+BSID = BSEG 2.六个表说明: clea ...