# js对象

```
1.使用原始的方式创建内置对象
var myObject = new Object();
myObject.name = “lijie”;
myObject.age = 20;
myObject.say = function(){...} 2.直接创建自定义对象
var 对象名 = {属性名1:属性值,属性名2:属性值2,…….} *3.使用自定义构造函数创建对象
function pen(name,color,price){
//对象的name属性
this.name = name;
//对象的color属性
this.color = color;
//对象的piece属性
this.price = price;
//对象的say方法
this.say = function(){};
} var pen = new pen(“铅笔”,”红色”,20);
pen.say(); ``` ## this关键字 ```
this单词本身就是 这个 的意思
在对象的方法中使用,代表着当前这个对象
意味着当对象调用这个方法时,方法中的this就代表着这个对象 ``` ## 遍历 ```
for(var i in window){
document.write(i+”----”+window[i]);
}
这种语句可以遍历对象中的所有属性或数组中的所有元素。 ``` ## 关于类型 ```
测试类型:
1.typeof() //global对象的其中一个方法,typeof()
2.对象.constructor; //查看当前对象的构造函数是谁 if(arr.constructor==Array){
alert("数组"); //数组推荐用这种方法,因为typeof得到是object
}
``` # js数组 数组就是一组数据的集合,javascript中,数组里面的数据可以是不同类型的。 **定义数组的方法** ```
//对象的实例创建
var aList = new Array(1,2,3); //直接量创建
var aList2 = [1,2,3,'asd']; ``` **操作数组中数据的方法**
1、获取数组的长度:aList.length; ```
var aList = [1,2,3,4];
alert(aList.length); // 弹出4 ``` 2、用下标操作数组的某个数据:aList[0]; ```
var aList = [1,2,3,4];
alert(aList[0]); // 弹出1 ``` 3、push() 和 pop() 从数组最后增加成员或删除成员 ```
var aList = [1,2,3,4];
aList.push(5);
alert(aList); //弹出1,2,3,4,5
aList.pop();
alert(aList); // 弹出1,2,3,4 ``` 4、unshift()和 shift() 从数组前面增加成员或删除成员 ```
var aList = [1,2,3,4];
aList.unshift(5);
alert(aList); //弹出5,1,2,3,4
aList.shift();
alert(aList); // 弹出1,2,3,4 ``` 5、splice() 在数组中增加或删除成员 ```
var aList = [1,2,3,4];
aList.splice(2,1,7,8,9); //从第2个元素开始,删除1个元素,然后在此位置增加'7,8,9'三个元素
alert(aList); //弹出 1,2,7,8,9,4 ``` **多维数组**
多维数组指的是数组的成员也是数组的数组。 ```
var aList = [[1,2,3],['a','b','c']]; alert(aList[0][1]); //弹出2;
``` # js数学对象Math ```
//四舍五入
var res = Math.round(5.921); //获取最大值
var res = Math.max(10,23,523,43,65,46,32,32); //获取最小值
var res = Math.min(12312,324,32,42,3,23,412,4332,21,3,-1); //获取绝对值
var res = Math.abs(-100); //退一取整
var res = Math.floor(1.9); //进一取整
var res = Math.ceil(1.1); //幂运算 用来获取x的y次方 2的3次方
var res = Math.pow(2,3); //开方运算 返回一个数的平方根
var res = Math.sqrt(9); random() 返回 0 ~ 1 之间的随机数。
``` ## random 返回 0 ~ 1 之间的随机数。 random 获取一个随机数 返回0-1之间的随机小数 有可能到0 ,但是不会取到1 ```
//封装函数()
function rand(m,n){
return Math.floor(Math.random()*(n-m+1))+m;
}
var res = rand(20,30);
```

10-js对象、数组的更多相关文章

  1. js对象数组多字段排序

    来源:js对象数组按照多个字段进行排序 一.数组排序 Array.sort()方法可以传入一个函数作为参数,然后依据该函数的逻辑,进行数组的排序. 一般用法:(数组元素从小大进行排序) var a = ...

  2. 前台的js对象数组传到后台处理。在前台把js对象数组转化为json字符串,在后台把json字符串解析为List<>

    前台的js对象数组传到后台处理.在前台把js对象数组转化为json字符串,在后台把json字符串解析为List<>

  3. js对象数组中的某属性值 拼接成字符串

    js对象数组中的某属性值 拼接成字符串 var objs=[ {id:1,name:'张三'}, {id:2,name:'李四'}, {id:3,name:'王五'}, {id:4,name:'赵六' ...

  4. JS对象—数组总结(创建、属性、方法)

    JS对象—数组总结(创建.属性.方法) 1.创建字符串 1.1 new Array() var arr1 = new Array(); var arr2 = new Array(6); 数组的长度为6 ...

  5. js对象/数组深度复制

    今天碰到个问题,js对象.数组深度复制:之前有见过类似的,不过没有实现函数复制,今晚想了一下,实现代码如下: function clone(obj) { var a; if(obj instanceo ...

  6. js对象,数组,字符串的操作

    循环绑定=>变量污染 for (var i = 0;i<lis.length;i++){ lis[i].index = i;#给页面元素对象添加一个任意属性(保留索引的属性index) # ...

  7. js对象数组深度去重和深度排序

    使用collect.js处理数组和对象 https://github.com/ecrmnn/collect.js/# 引入collect.js https://github.com/ecrmnn/co ...

  8. JS 对象 数组求并集,交集和差集

    一.JS数组求并集,交集和差集 需求场景 最近,自己项目中有一些数组操作,涉及到一些数学集的运算,趁着完成后总结一下. 简化问题之后,现有两数组a = [1, 2, 3],b = [2, 4, 5], ...

  9. js 对象数组去重

    var arr = [{ "name": "ZYTX", "age": "Y13xG_4wQnOWK1QwJLgg11d0pS4h ...

  10. js对象数组按属性快速排序

    前一篇<关于selector性能比赛>中提到,目测觉得在$("div,p,a")这样有逗号时,sizzle耗时异常(600多个元素,花了200ms),说是它可能没有优化 ...

随机推荐

  1. STM32开发板的TIM3开启和关闭

    关闭定时器中断要考虑好多情况 1)关闭定时器时,定时器是否在处在工作状态 2)关闭定时器时,定时器是否正好进入中断,造成关闭程序出现断层,进而无法实现完整关闭程序,此时可以使用高一级别的外部中断强制进 ...

  2. php 客户端调用elasticsearch接口

    1.php调用elasticsearch接口[参考资料:https://www.cnblogs.com/php0916/articles/6587340.html] /data/www/syhuo.n ...

  3. Android and HTML5 开发手机应用(转载)

    作为一个WEB开发者,HTML5让我兴奋,因为它可以将桌面应用程序功能带入浏览器中.但在国内,看着到处横行的IE8版本以下的浏览器,觉得到能大规模使用HTML5技术的那天,还遥遥无期.但面对iOS及A ...

  4. (转载)《利用Python进行数据分析·第2版》电子书

    https://www.jianshu.com/p/04d180d90a3f https://www.jianshu.com/p/04d180d90a3f https://www.jianshu.co ...

  5. vue项目使用axios发送请求让ajax请求头部携带cookie

    最近做vue项目时遇到登录权限问题,登录以后再发送的请求头部并没有携带登录后设置的cookie,导致后台无法校验其是否登录.检查发现是vue项目中使用axios发送ajax请求导致的.查看文档得知ax ...

  6. Day3 01 枚举

    枚举:关键字 enum  主要为了限定了选择范围,声明了一组相关的值类型的集合. 1.枚举类型,实质上是整整 2.如果不进行赋值操作,枚举类型从0开始递增. 3.枚举不能定义字段 属性  方法. 例如 ...

  7. AtomicBoolean 源码分析

    AtomicBoolean AtomicBoolean 能解决什么问题?什么时候使用 AtomicBoolean? 可原子更新的 boolean 值 1)原子性:在Java中,对基本数据类型变量的读取 ...

  8. list、tuple、dict加*星号

    *相当于解压的作用,当list中只有一个元素时,利用*作用相当于直接去[],去[]后的数据类型是字符串. _list = [1,2,3] _tuple = (1,2,3) _dict = {1:'a' ...

  9. Week13 - 376. Wiggle Subsequence

    Week13 - 376. Wiggle Subsequence A sequence of numbers is called a wiggle sequence if the difference ...

  10. Golang new() vs make()

    对于Golang的new() 和 make()的用法有些混乱,感觉这篇资料讲解较好,翻译一下,方便学习! 原文地址:http://www.godesignpatterns.com/2014/04/ne ...