引用类型 和 类
不是一个概念
用typeof来检测属性是否存在
typeof args.name == "string" 
需要实验
访问属性的方法
.号和[]
一般情况下要用.
判断是否是数组
Array.isArray( a ) 
数组变字符串
array.join("||") ;
重排序
reverse sort
sort( compare ) 
 
function compare(a, b){
   if( a > b ) return 1 
}
前端大于后值,return 1,则升序排列
连接 数组
concat()
slice()
不影响原数组,返回的是新生成的数组
splice()
可删 可插 替换
返回被删除的数组
位置方法
indexOf lastIndexOf
迭代方法 
有两个参数  方法 和 this
方法有三个参数 item index list
迭代方法有哪些
判断
some
every
 
过滤
filter
 
覆盖
map     返回新数组
forEach  直接对原数组操作 无返回值
归并方法
reduce 和 reduceRight
有两个参数  方法 和 归并基础的初始值
方法有上个参数  lastOne thisOne index list
Date方法
Date.parse() 把格式化的转成毫秒数
Date.UTC(年,月,日,时,分,秒)转成毫秒数
Date.now() 取得当前毫秒数
日期格式化
调用 toString() 即可
日期的方法
getFullYear getMonth getDate getDay getHours getMinutes getSeconds 
RegExp类型
/.at/匹配所有以at结尾的3个字符的组合 不区分大小写
捕获组
记住用法
exec
即使设置了g,  每次也只返回一个新的匹配
test
返回的是 布尔值
函数内部两属性
arguments this
arguments有callee 指向函数
函数的两个属性
length   函数希望接收到的命名参数个数
prototype 这个属性不可被枚举 ,用于保存所有实例方法
apply 和 call 的区别
参数以数组的形式传给apply的第二个参数
在用call时,传递给函数的参数必须逐个列举出来
bind
bind() 这个方法会创建一个函数的实例,其this值会被绑定到传给bind()函数的值
让数值显示指定的小数位
num.toFixed( 2 ) 
trim
删除前置和后置的空格
大小写转换
toLowerCase toUpperCase
字符串的方法中 和 正则相关的
String.match( Reg )  返回所有符合的
String.search( Reg )  永远是从字符串的开关向后查找模式
String.replace( Reg ) 可全局替换
 
通过一些特殊符号,可返回最近一次匹配结果中的内容
var text = "cat bat sat"
result = text.replace(/(.at)/g, "word ($1)" );
答案是 word(cat) word(bat) word(sat) 
即可以返回第一个捕获组的值
replace方法的第二个参数也可以是一个函数
text.replace( /[<>"&]/g, function( match,pos,originalText){ } ) 
match是模式的匹配项
pos是模式匹配项在字符串中的位置
originalText是原始字符串
 
如果正则定义了多个捕获组,那么上面那个function里的参数是
( match0,match1,match2,match3,pos,originalText) ;
 split( a, b ) ;
把字符串转化为数组
b表示数组的最大长度
单体内置对象
不依赖于宿主环境 在程序执行之前已经存在的 比如Global 和 Math
Global 
isNaN isFinite parseInt parseFloat 全是Global的方法
encodeURI  decodeURI
 
encodeURIComponent decodeURIComponent
对整个url编码
 
对url query里的查询参数编译
eval
把字符串变成表达式 ,请慎用
window Global
js里的window扮演了EcmaScript规定的Global对象的角色外,还承担了很多别的任务

读书笔记 - js高级程序设计 - 第五章 引用类型的更多相关文章

  1. 读书笔记 - js高级程序设计 - 第十一章 DOM扩展

      对DOM的两个主要的扩展 Selectors API HTML5  Element Traversal 元素遍历规范 querySelector var body = document.query ...

  2. 读书笔记 - js高级程序设计 - 第七章 函数表达式

      闭包 有权访问另一个函数作用域中的变量的函数 匿名函数 函数没有名字 少用闭包 由于闭包会携带包含它的函数的作用域,因此会比其它函数占用更多的内存.过度使用闭包可能会导致内存占用过多,我们建议读者 ...

  3. 读书笔记 - js高级程序设计 - 第六章 面向对象的程序设计

      EcmaScript有两种属性 数据属性 和 访问器属性 数据属性有4个特性 Configurable Enumerable Writable Value   前三个值的默认值都为false   ...

  4. 读书笔记 - js高级程序设计 - 第四章 变量 作用域 和 内存问题

      5种基本数据类型 可以直接对值操作 判断引用类型 var result = instanceof Array 执行环境 每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这 ...

  5. 读书笔记 - js高级程序设计 - 第三章 基本概念

    启用严格模式 "use strict" 这是一个 pragma 编译指示 让编码意图更清晰  是一个重要原则 5种简单数据类型 Undefined Null Boolean Num ...

  6. 读书笔记 - js高级程序设计 - 第十五章 使用Canvas绘图

    读书笔记 - js高级程序设计 - 第十三章 事件   canvas 具备绘图能力的2D上下文 及文本API 很多浏览器对WebGL的3D上下文支持还不够好   有时候即使浏览器支持,操作系统如果缺缺 ...

  7. 读书笔记 - js高级程序设计 - 第十二章 DOM2和DOM3

      Node类型的变化   访问元素的样式 myDiv.style.backgroundColor = "red" myDiv.style.width = "100px& ...

  8. 读书笔记 - js高级程序设计 - 第十章 DOM

      文档元素 是文档的最外层元素,在Html页面中,文档元素始终都是<html>元素 在xml中,任何元素都可以是文档元素 Node类型 Node.ELEMENT_NODE 元素 Node ...

  9. 读书笔记 - js高级程序设计 - 第八章 BOM

      BOM的核心对象是window 它表示浏览器的一个实例,在浏览器中,window对象有双重角色,它既是通过js访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象,这意味着在网 ...

随机推荐

  1. Java并发——volatile的原理

    111 Java并发——volatile的原理

  2. [Luogu][P2458] [SDOI2006]保安站岗

    题目链接 看起来似乎跟最小点覆盖有点像.但区别在于: 最小点覆盖要求所有边在其中,而本题要求所有点在其中. 即:一个点不选时,它的儿子不一定需要全选. 画图理解: 对于这样一幅图,本题中可以这样选择: ...

  3. 模拟一次sql注入攻击

    在你的web服务目录下 创建一个php文件如下 <?php $conn = db_connect(); $sql = sprintf('update users set password = & ...

  4. 树莓派1 安装使用 ZeroTier

    基于P2P网络的Private LAN工具:ZeroTier Linux (DEB and RPM distributions) We've found a way to make the easy ...

  5. 十七、React路由嵌套:头部导航+侧边导航

    一.概述 实现功能:点首页,展示首页,同时在左侧有个首页的各个栏目导航:点用户,同首页: 二.代码实现 1. src/App.js import React from 'react'; import ...

  6. (八)微信小程序---获取定位信息chooseLocation

    微信小程序---获取定位信息  chooseLocation wxml <view bindtap="getlocalPath">{{localPath}}</v ...

  7. Golang的运算符-算数运算符

    Golang的运算符-算数运算符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.算术运算符概述 常见的算术运算符: +: 可表示正号,如",结果为"Jaso ...

  8. 文件上传报错java.io.FileNotFoundException拒绝访问

    局部代码如下: File tempFile = new File("G:/tempfileDir"+"/"+fileName); if(!tempFile.ex ...

  9. 又一个无效的列类型错误Error setting null for parameter #7 with JdbcType NULL . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLExcept

    在更新数据时候出现的错误 更新代码如下: <update id="modify" parameterType="Standard"> update ...

  10. linux添加一个已经存在用户到一个用户组

    在使用virtual-box的共享文件时,在虚拟机中共享文件的用户为root,用户组为vboxsf, 所以需要将自己添加到vboxsf这组当中去,一开始使用useradd老是失败,后来才查到要用use ...