1. Javascript 对象

1.1 创建对象

1.1.1 使用原始的方式创建内置对象

  1. var myObject = new Object();
  2. myObject.name = "lijie";
  3. myObject.age = 20;
  4. myObject.say = function(){...}

1.1.2 直接创建自定义对象

  1. var 对象名 = {属性名1: 属性值, 属性名2: 属性值2, ...}

1.1.3 使用自定义构造函数创建对象

  1. function pen(name, color, price){
  2. // 1. 对象的 name 属性
  3. this.name = name;
  4. // 2. 对象的 color 属性
  5. this.color = color;
  6. // 3. 对象的 piece 属性
  7. this.price = price;
  8. // 4. 对象的 say 方法
  9. this.say = function(){};
  10. }
  11. var pen = new pen("铅笔", "红色", 20);
  12. pen.say();

1.2 this 关键字

  • this 单词本意即为这个
  • 当对象调用某个方法时,方法中的 this 就代表着这个对象
  • 类似 Python 中的 self

1.3 遍历

  • for-in 语句可以遍历对象中的所有属性或数组中的所有元素
  1. for(var i in window){
  2. document.write(i + "---" + window[i]);
  3. }

1.4 关于类型

  • 测试类型
  1. // 1. global 对象的其中一个方法
  2. typeof()
  3. // 2. 查看当前对象的构造函数是谁
  4. 对象.constructor;
  5. // 3. 数组推荐用这种方法,因为 typeof() 得到是 object
  6. if(arr.constructor == Array){
  7. alert("数组");
  8. }

2. Javascript 数组

  • 数组就是一组数据的集合
  • JS 中,数组里面的数据可以是不同类型的

2.1 定义数组的方法

  1. // 1. 用对象的实例创建
  2. var aList1 = new Array(1, 2, 3);
  3. // 2. 直接量创建
  4. var aList2 = [1, 2, 3, "abc"];

2.2 操作数组中数据的方法

2.2.1 获取数组的长度

  • aList.length;
  1. var aList = [1, 2, 3, 4];
  2. alert(aList.length); // alert 4

2.2.2 用下标操作数组的某个数据

  • aList[0];
  1. var aList = [1, 2, 3, 4];
  2. alert(aList[0]); // alert 1

2.2.3 在数组末尾增删成员

  • push() 和 **pop() **
  1. var aList = [1, 2, 3, 4];
  2. aList.push(5);
  3. alert(aList); // alert 1, 2, 3, 4, 5
  4. aList.pop();
  5. alert(aList); // alert 1, 2, 3, 4

2.2.4 在数组头部增删成员

  • unshift()shift()
  1. var aList = [1, 2, 3, 4];
  2. aList.unshift(5);
  3. alert(aList); // alert 5, 1, 2, 3, 4
  4. aList.shift();
  5. alert(aList); // alert 1, 2, 3, 4

2.2.5 在数组中增加或删除成员

  • splice()
  1. var aList = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
  2. // 1. 若 splice() 只接受 1 个参数,表示删除该下标至末尾的所有元素,包括该下标
  3. aList.splice(11);
  4. console.log("1. aList =", aList);
  5. // 2. 若 splice() 只接受 2 个参数,表示删除该两个下标间的所有元素,包括该下标
  6. aList.splice(1, 3);
  7. console.log("2. aList =", aList);
  8. // 3. 若 splice() 只接受 3 个参数,前 2 个意思同上,第 3 个元素用来填补删除处
  9. aList.splice(1, 3, 100);
  10. console.log("3. aList =", aList);
  11. // 4. 若 splice() 接受 3 个以上参数,前 3 个意思同上,第 4 个及之后的元素也用来填补删除处
  12. aList.splice(1, 3, 101, 102, 103, 104);
  13. console.log("4. aList =", aList);
  • 运行结果
  1. 1. aList = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  2. 2. aList = [0, 4, 5, 6, 7, 8, 9, 10]
  3. 3. aList = [0, 100, 7, 8, 9, 10]
  4. 4. aList = [0, 101, 102, 103, 104, 9, 10]

2.3 多维数组

  • 多维数组指的是数组的成员也是数组的数组
  1. var aList = [[1, 2, 3], ['a', 'b', 'c']];
  2. alert(aList[0][1]); // alert 2

3. Javascript 数学对象

3.1 Math

  1. // 1. 四舍五入
  2. var res1 = Math.round(5.921);
  3. var res2 = Math.round(5.321);
  4. console.log("res1 =", res1);
  5. console.log("res2 =", res2);
  6. // 2.1 获取最大值
  7. var res3 = Math.max(10, 20, 30, 41, 52, 14, 28, 39);
  8. console.log("res3 =", res3);
  9. // 2.2 获取最小值
  10. var res4 = Math.min(10, 20, 30, 41, 52, 14, 28, 39);
  11. console.log("res4 =", res4);
  12. // 3. 获取绝对值
  13. var res5 = Math.abs(-100);
  14. console.log("res5 =", res5);
  15. // 4.1 退一取整(向下取整)
  16. var res6 = Math.floor(1.1);
  17. var res7 = Math.floor(1.9);
  18. console.log("res6 =", res6);
  19. console.log("res7 =", res7);
  20. // 4.2 进一取整(向上取整)
  21. var res8 = Math.ceil(1.1);
  22. var res9 = Math.ceil(1.9);
  23. console.log("res8 =", res8);
  24. console.log("res9 =", res9);
  25. // 5. 幂运算
  26. var res10 = Math.pow(2, 3);
  27. console.log("res10 =", res10);
  28. // 6. 开方运算
  29. var res11 = Math.sqrt(9);
  30. console.log("res11 =", res11);
  • 运行结果
  1. res1 = 6
  2. res2 = 5
  3. res3 = 52
  4. res4 = 10
  5. res5 = 100
  6. res6 = 1
  7. res7 = 1
  8. res8 = 2
  9. res9 = 2
  10. res10 = 8
  11. res11 = 3

3.2 random()

  • 获取一个随机数,返回 (0-1] 之间的随机小数
  • 从概率论的角度,可能取到 1,但取到的概率为 0
  1. // 手动封装函数
  2. function rand(m, n){
  3. return Math.floor(Math.random() * (n-m+1)) + m; // m 写到 floor() 中也行
  4. }
  5. var res = rand(20, 30);

[Web 前端] 025 js 的对象、数组和数学对象的更多相关文章

  1. Web前端-Vue.js必备框架(一)

    Web前端-Vue.js必备框架(一) <!DOCTYPE html> <html lang="en"> <head> <meta cha ...

  2. Web前端-Vue.js必备框架(四)

    Web前端-Vue.js必备框架(四) 计算属性: <div id="aaa"> {{ message.split('').reverse().join('') }} ...

  3. Web前端-Vue.js必备框架(三)

    Web前端-Vue.js必备框架(三) vue是一款渐进式javascript框架,由evan you开发.vue成为前端开发的必备之一. vue的好处轻量级,渐进式框架,响应式更新机制. 开发环境, ...

  4. Web前端-Vue.js必备框架(二)

    Web前端-Vue.js必备框架(二) vue调式工具vue-devtools 过滤器:vue.js允许你自定义过滤器,可被用作一些常见的文本格式化. mustache插值和v-bind表达式. vu ...

  5. Web前端-Vue.js必备框架(五)

    Web前端-Vue.js必备框架(五) 页面组件,商品列表组件,详情组件,购物车清单组件,结算页组件,订单详情组件,订单列表组件. vue-router 路由 vuex 组件集中管理 webpack ...

  6. fastjson: json对象,json对象数组,javabean对象,json字符串之间的相互转化

    fastjson: json对象,json对象数组,javabean对象,json字符串之间的相互转化 在开发过程中,经常需要和前端交互数据,数据交互的格式都是JSON,在此过程中免不了json字符串 ...

  7. Web前端Require.js

    前言 前段时间粗略的扫过一次require.js,当时没怎么在意,结果昨天看到index里面的代码就傻了,完全不知道从哪开始看啦,所以require与backbone的学习还要加紧才行. 由于前端所占 ...

  8. web前端——Vue.js基础学习

    近期项目的前端页面准备引入Vue.js,看了网上一些简介,及它和JQuery的对比,发现对于新入门的前端开发来说,Vue 其实也是比较适用的一个框架,其实用性不比JQuery差,感觉还挺有意思,于是研 ...

  9. web前端:js

    内嵌样式<script></script> alert(“123”)弹出对话框 document.write(“test”) 引入方式 <title></ti ...

随机推荐

  1. Python 3标准库课件第一章

    第一章文本1.1 string:文本常量和模板1.2 textwrap:格式化文本段落1.3 re:正则表达式1.4  difflib:比较序列str类,string.Templatetextwrap ...

  2. 关于AES加密CryptoJS

    import * as CryptoJS from 'crypto-js'; let AuthTokenKey = "XXX"; //AES密钥let AuthTokenIv = ...

  3. 查看是否安装jdk及路径

    JDK能否曾经装置,可以在cmd窗口里输出java -version,假定没有提示出错,就表示曾经装置. JDK的装置途径,可以输出java -verbose,会前往很多信息,其中就包括了JDK的装置 ...

  4. 从fileGDB中获取List

    /// <summary> /// 从FGDB中获取 /// </summary> /// <param name="fileGDBPath"> ...

  5. Shell-06 函数

    Shell-06 函数 #编写脚本,使用chkconfig命令,循环执行,关闭所有5级别服务 #!/bin/bash name=`chkconfig --list | cut -d' ' -f1` f ...

  6. html br标签 语法

    html br标签 语法 br标签什么意思? 作用:插入一个简单的换行符.广州大理石机械构件 说明:<br> 标签是空标签(意味着它没有结束标签,因此这是错误的:<br>< ...

  7. hdu_3466(01背包)

    其实,就是让C商品的q不等于p,其他都相同,这时,你就会发现如果要买C商品的话,肯定得先买C商品,因为买C商品的代价最大.所以,我们可以按照qi-pi的顺序来确定大顺序.这里我们还可以用更严谨的方式来 ...

  8. Markers

    immune pdf(file = paste0(outdir,"T_B_NK_feature.pdf")) VlnPlot(expr_1_4,features = c(" ...

  9. Rust:剑指C++

    Rust:极富活力和前途的编程语言,剑指C++ 今天开始学习Rust,马上要回去休息了,只贴上一段实例代码,在后续的学习中,会对这种语言进行一个详尽的介绍(学习中....). extern crate ...

  10. Redis、Nginx加入启动命令

    1.redis加入系统启动命令 vim /etc/init.d/redis #!/bin/sh #chkconfig: 2345 80 90 # Simple Redis init.d script ...