博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MDN JavaScript重温笔记
阅读量:5861 次
发布时间:2019-06-19

本文共 2866 字,大约阅读时间需要 9 分钟。

  hot3.png

阅读地址

对象

  • 有时也被叫作关联数组:因为每个属性都有一个用于访问它的字符串值

  • 属性访问方式

  1. obj.attr
  2. obj['attr']类似数组访问方式也行
  • 对象中未赋值的属性的值为undefined(而不是null)。

  • **一个属性的名称如果不是一个有效的 JavaScript 标识符(例如,一个由空格或连字符,或者以数字开头的属性名),就只能通过方括号标记访问

  • 遍历对象的所有属性三种方式(>=ECMAScript 5,ECMAScript 5 之前没有原生方法可以遍历)

  1. for...in 该方法依次访问一个对象及其原型链中所有可枚举的属性。
  2. Object.keys(o) 该方法返回一个对象 o 自身包含(不包括原型中)的所有属性的名称的数组。
  3. Object.getOwnPropertyNames(o) 该方法返回一个数组,它包含了对象 o 所有拥有的属性(无论是否可枚举)的名称。
  • 新建对象3个方法
  1. 对象初始化器
  2. 构造函数
  3. Object.create方法
  • 为对象类型定义属性
Car.prototype.color = null;car1.color = "black";
  • 定义方法
objectName.methodname = function_name;var myObj = {  myMethod: function(params) {    // ...do something  }}
  • getters和setters
var o = {  a: 7,  get b() {     return this.a + 1;  },  set c(x) {    this.a = x / 2  }}
  • delete可以删除对象的非继承来的属性 如果一个全局变量不是用 var 关键字声明的话,你也可以用 delete 删除它:
g = 17;delete g;

数组

  • 新建数组的3个方法
  1. 3个方法举例
var arr = new Array(element0, element1, ..., elementN);var arr = Array(elechuangjment0, element1, ..., elementN);var arr = [element0, element1, ..., elementN];// 译者注: var arr=[4] 和 var arr=new Array(4)是不等效的,// 后者4指数组长度,所以使用字面值(literal)的方式应该不仅仅是便捷,同时也不易踩坑
  1. 如果元素是数字,需要用 var arr = [42] 不能使用 var arr = Array(42)
  2. var arr = Array(9.3) ,这样做报RangeError错误,而arr[9.3] = 'some string'会将9.3作为数组对象的属性(在JavaScript中,数组也是对象)
  • 遍历数组的3个方法
  1. for..in(不保证按照索引顺序返回且会将数组属性也遍历出来,如果对返回索引顺序有要求,不建议用)
  2. forEach()方法
  3. for循环
  • 数组赋值的3个方法
  1. emp[0] = "Casey Jones"
  2. var myArray = new Array("Hello", myVar, 3.14159)
  • delete可以删除不是继承来的属性

  • 数组对象具有的方法

  • concat() 连接两个数组并返回一个新的数组。

  • join(deliminator = ',') 将数组的所有元素连接成一个字符串。

  • push() 在数组末尾添加一个或多个元素,并返回数组操作后的长度。

  • pop() 从数组移出最后一个元素,并返回该元素。

  • shift() 从数组移出第一个元素,并返回该元素。

  • unshift() 在数组开头添加一个或多个元素,并返回数组的新长度。

  • slice(start_index, upto_index) 从数组提取一个片段,并作为一个新数组返回。

  • splice(index, count_to_remove, addElement1, addElement2, ...)从数组移出一些元素,(可选)并替换它们。

  • reverse() 颠倒数组元素的顺序:第一个变成最后一个,最后一个变成第一个。

  • sort() 给数组元素排序。

  • indexOf(searchElement[, fromIndex]) 在数组中搜索searchElement 并返回第一个匹配的索引。

  • lastIndexOf(searchElement[, fromIndex]) 和 indexOf差不多,但是是从结尾开始,并且是反向搜索。

  • forEach(callback[, thisObject]) 在数组每个元素项上执行callback。

  • map(callback[, thisObject]) 在数组的每个单元项上执行callback函数,并把返回包含回调函数返回值的新数组。》译者注:也就是遍历数组,并通过callback对数组元素进行操作,并将所有操作结果放入数组中并返回该数组。

  • filter(callback[, thisObject]) 返回一个包含所有在回调函数上返回为true的元素的新数组。》译者注:callback在这里担任的是过滤器的角色,当元素符合条件,过滤器就返回true,而filter则会返回所有符合过滤条件的元素。

  • every(callback[, thisObject]) 当数组中_全部元素_在callback上被返回true时就返回true。》译者注:同上,every其实类似filter,只不过它的功能是判断是不是数组中的所有元素都符合条件,并且返回的是bool值。

  • some(callback[, thisObject]) 只要数组中有_一项_在callback上被返回true,就返回true。

  • reduce(callback[, initialValue]) 对数组每项进行操作,比如从1加到100最后结果是多少

var a = [1, 2, 3, ..., 100];var total = a.reduce(function(first, second) { return first + second; }, 0); //0为初始化结果console.log(total) // Prints 60
  • 数组和正则表达式
    当一个数组是一个正则表达式对一个字符串的匹配结果,这个数组返回属性和元素来提供正则匹配的信息。 , 和 的返回值是一个数组。 使用数组和正则表达式的的更多信息, 请看 Regular Expressions.

文本格式化

  • 字符串对象
  1. String 对象是对原始string类型的封装,可以使用很多对象方法

面向对象编程

  • 封装:
  • 继承:
  • 多态

转载于:https://my.oschina.net/kmwzjs/blog/747422

你可能感兴趣的文章
linux设备驱动第三篇:写一个简单的字符设备驱动
查看>>
linux网络配置命令总结
查看>>
【IOS开发】GDataXML解析XML
查看>>
CentOS修改文件夹权限
查看>>
Spring源码深度解析:学习笔记
查看>>
BarTender打印额外字符的方法
查看>>
Iptables
查看>>
session监听在线用户
查看>>
kvm与virsh两种创建虚拟机方式的一些问题
查看>>
Spark 启动脚本——sbin/slaves.sh
查看>>
RubyGems
查看>>
我的友情链接
查看>>
运维自动化--自动化安装
查看>>
“***”眼中云计算的“五大漏洞”
查看>>
选择***者的角色---***测试的起点
查看>>
[搬运]python基础教程学习总结_20141003
查看>>
unistd.h/fcntl.h
查看>>
笔记本“***”清除实例
查看>>
zabbix 4.0配置微信报警
查看>>
我的友情链接
查看>>