JS的函数和对象二
复习
递归,在函数内部调用自身 return
匿名函数 function(){ }
创建函数,函数表达式 var fn=function(){ }
自调用 (function(){ 函数作用域; })();
回调函数
function add(a){ a() }
add(function(){ 多行代码; });
全局函数
parseInt/parseFloat/isNaN/encodeURI/decodeURI
isFinite/eval '1==3'
对象
内置对象/宿主对象/自定义对象
对象字面量 {}/内置构造函数 new Object()/自定义构造函数
对象.属性名 对象['属性名']
遍历对象属性 枚举
for(var key in 对象){ }
1.判断对象中是否含有某个属性
对象.属性名 === undefined true->不存在 false->存在
对象.hasOwnPropery('属性名') true->存在 false->不存在
'属性名' in 对象 true->存在 false->不存在
2.对象中的方法
|
var person={ ename: 'tom', say: function(){ this.ename //访问当前对象的属性名,this指代当前所在的对象 } } person.say() //调用对象中的方法 |
数组
是有多个元素组成的集合,每个元素就是一个数据
3.创建数组
(1)数组字面量
[ 元素1, 元素2... ]
(2)访问数组中的元素
数组[下标] 下标从0开始,不存在的元素返回undefined
(3)内置构造函数
new Array( 元素1,元素2... )
new Array(3) 初始化元素个数为3,可以添加更多个元素
(4)数组的长度
数组.length 获取数组中元素的个数
在数组的末尾添加元素
数组[ 数组.length ] = 值;
(5)数组的分类
分为关联数组和索引数组
索引数组以0以上的整数作为下标
关联数组以字符串作为下标,只能单独的添加元素
(6)遍历数组
for-in
|
for(var key in 数组){ key 下标 数组[key] 下标对应的元素 } 既可以遍历关联数组,也可以遍历索引数组 |
循环
|
for(var i=0;i<数组.length;i++){ i 下标 数组[i] 下标对应的元素 } 只能遍历索引数组 |
(7)数组API(方法)
API 应用程序编程接口,预定义好的一些方法或者函数
toString() 将数组中的元素按逗号组合成字符串
join('-') 将数组中的元素按指定的字符组合成字符串,默认是逗号
concat(arr1,arr2) 拼接多个数组
slice(start,end) 截取数组中的元素,start开始的下标,end结束的下标,不包含end本身,如果是负数,表示倒数。end为空截取到最后。
练习: 创建数组a~g组成,每个字符是一个元素;分别截取cd,f,b;把截取的结果拼接成一个新数组
splice(start, count, value1,value2..) 删除数组中的元素,start开始的下标,count删除的长度,value删除后补充的元素;count为空删除到最后,start为负数表示倒数;返回删除的元素,原数组会发生变化。
JS的函数和对象二的更多相关文章
- JS的函数和对象一
1.递归 在函数的内部调用自身,默认是一个无限循环. 2.匿名函数 没有名称的函数 function(){ } (1)创建函数 函数声明 function fn1(){ } 函数表达式 va ...
- js 原型 函数和对象的关系
函数就是对象的一种 instanceof 可以做判断 var fn = function(){}; fn instanceof Object //true Object构造函数的prototype ...
- JS的函数和对象三
复习 判断是否含有某个属性 对象.属性名 === undefined 对象.hasOwnProperty('属性名') '属性名' in 对象 方法 { say:function(){ this ...
- js关于函数和对象的概念
<script type="text/javascript"> function func1(fn){ if(typeof(fn)=="function&qu ...
- JS的函数和对象四
复习 数组 toString/join/concat/slice/splice/reverse/sort/ push/pop/unshift/shift 字符串 new String(2) / S ...
- JS中函数参数和函数返回值的理解
函数本质就是功能的集合 JS中函数是对象,因此,函数名实际上仅仅是一个指向函数对象的指针,不会与某个函数绑定,所以,JS中没有重载(重载就是通过传递不同类型的参数,使两个相同函数名的函数执行不同的功能 ...
- 对JS中函数的理解
函数本质就是功能的集合 JS中函数是对象,因此,函数名实际上仅仅是一个指向函数对象的指针,不会与某个函数绑定,所以,JS中没有重载(重载就是通过传递不同类型的参数,使两个相同函数名的函数执行不同的功能 ...
- JavaScript学习笔记(二)——闭包、IIFE、apply、函数与对象
一.闭包(Closure) 1.1.闭包相关的问题 请在页面中放10个div,每个div中放入字母a-j,当点击每一个div时显示索引号,如第1个div显示0,第10个显示9:方法:找到所有的div, ...
- JavaScript学习总结(二)——闭包、IIFE、apply、函数与对象
一.闭包(Closure) 1.1.闭包相关的问题 请在页面中放10个div,每个div中放入字母a-j,当点击每一个div时显示索引号,如第1个div显示0,第10个显示9:方法:找到所有的div, ...
随机推荐
- thinkphp5.0--auth权限
一般auth权限有四个表: think_admin:注册表, think_auth_group_access:用户组明细表(关联), think_auth_group:用户组表, think_arut ...
- 基于java的OpenCV安装和配置
目录 OpenCV简介 OpenCV下载安装 eclipse里引用jar包和配置 OpenCV简介 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Window ...
- OOM的起点到终点
前言 1.问题及现象 线上日志反馈内存溢出问题.根据用户反馈,客户操作一段时间之后,APP 内存溢出崩溃. 2.分析过程 (1) 分析线上日志,发现主要分两种: 第一种如下,可能是某个死循环导致内存不 ...
- [20170616]recover copy of datafile 6.txt
[20170616]no copy of datafile 6 found to recover.txt --//最近几天一直被这个问题纠缠,我虽然不知道问题在哪来,还是找到简单的解决方法,做1个记录 ...
- 虚拟化VMware之虚拟机备份(1)
之虚拟机备份() 模版:是一种开放,公用.安全的虚拟机压缩格式,通常使用的是扩展名为.ova可以在多个主流虚拟化平台下进行操作 是和 通过技术协作推出的基于磁盘的备份和恢复的新一代解决方案,可靠且易部 ...
- jQuery学习(三)
事件 on方法可以将一个事件绑定在jQuery对象上,当你的操作触发了这些事件时,便会调用你所绑定的函数. 例如,给某个超链接绑定点击事件. <head> <meta http-eq ...
- webpack4.x开发环境配置
写这篇文章的初衷在于,虽然网络上关于webpack的教程不少,但是大多已经过时,由于webpack版本更新后许多操作变化很大,很多教程的经验已经不适合.当我们使用npm安装webpack时,若不指定w ...
- IIS6服务器的请求流程(图文&源码)
1.IIS 7开发与管理完全参考手册 http://book.51cto.com/art/200908/146040.htm 2.Web服务IIS 6 https://technet.micro ...
- 使用cpplint检测代码规范
0. cpplint - python脚本, google使用它作为自己的C++代码规范检查工具: 1. 安装 方法一: $sudo apt-get install python-pip $pip i ...
- wmic 内网使用
先决条件: 1.远程服务器启动Windows Management Instrumentation服务,开放TCP135端口,防火墙放开对此端口的流量(默认放开): 2.远程服务器的本地安全策略的“网 ...