JavaScript高级程序设计(二)
一、函数
1.1 JS中函数无重载,同一作用域下定义两个函数,而不会引发错误,但真正调用的是后面定义的函数。例如:
function doAdd(iNum){
alert(iNum+100);
}
function doAdd(iNum){
alert(iNum+10);
}
doAdd(10);//结果为20,第二个函数覆盖了第一个
1.2 arguments 对象,arguments.length返回传递给函数参数的个数。我们可以用arguments模拟函数重载。
function doAdd(){
if(arguments.length==1){
alert(arguments[0]+10);
} else if(arguments.length==2){
alert(arguments[0]+arguments[1]);
}
}
doAdd(10);// 输出20
doAdd(30,10)//输出40
1.3 Function类直接创建
var function_name=new Function(argument1,argument2,……,function_body)
//每一个argument都是参数,最后一个是执行主体代码。这些参数都必须是字符串。
var odAdd=new Function("iNum",,"alert(iNum+100)");
1.4 对象类的函数
slice()和String类的一样。
var aStr=["aa","bb","cc","dd"]; var sStr=aStr.slice(1);//当只有一个参数时返回从该位置到数组结尾处所有项。bb,cc,dd
var aStr=["aa","bb","cc","dd"]; var sStr=aStr.slice(0,3);//当只有两个参数时返回他们之间的所有项,不包括第二个位置项。aa,bb,cc
push()//存入数组尾部
pop()//删除最后一个,返回它作为函数值。
shift()//删除第一个项,返回它作为函数值。
unshift()//把一个项放在第一个位置,其余项向后移动一个位置。
sort()//升序排列
1.5 数组迭代方法
every():对数组中每一项运行给定函数,如该函数对每一项都返回true,则返回true;
var numbers = [1,2,3,4,5,6];
var everyResult=numbers.every(function(item,index,array){
return (item >2)});
alert(everyResult);//false
some():对数组中每一项运行给定函数,如该函数对有一项返回true,则返回true;
var numbers = [1,2,3,4,5,6];
var someResult=numbers.some(function(item,index,array){
return (item >2)});
alert(someResult);//true
filter():它利用指定的函数确定是否在返回的数组中包括某一项。
JavaScript高级程序设计(二)的更多相关文章
- JavaScript高级程序设计(二):在HTML中使用JavaScript
一.使用<script>元素 1.<script>元素定义了6个属性: async:可选.表示应该立即下载脚本,但不应该妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本 ...
- javascript 高级程序设计 二
这里我们直接进入主题: 在JS刚刚开始的时候,必须面临一个问题,那就是如何使的JS的加载和执行不会影响web核心语言HTML的展示效果,和HTML和谐共存. 在这个背景下<script>标 ...
- javascript 高级程序设计 十二
1.组合使用原型模式和构造函数模式: 由于原型模式创建对象也有它的局限性------有智慧的人就把原型模式和构造函数模式进行了组合. function Person(name, age, job){/ ...
- 《Javascript高级程序设计》阅读记录(二):第四章
这个系列之前文字地址:http://www.cnblogs.com/qixinbo/p/6984374.html 这个系列,我会把阅读<Javascript高级程序设计>之后,感觉讲的比较 ...
- 《JavaScript高级程序设计(第3版)》笔记-序
很少看书,不喜欢看书,主要是上学时总坐不住,没有多大定性,一本书可以两天看完,随便翻翻,也可以丢在角落里几个月不去动一下. 上次碰到了<JavaScript高级程序设计(第3版)>感觉真的 ...
- 读javascript高级程序设计08-引用类型之Global、Math、String
一.Global 所有在全局作用域定义的属性和方法,都属于Global对象. 1.URI编码: encodeURI():主要用于对整个URI编码.它不会对本身属于URI的特殊字符进行编码. encod ...
- JavaScript高级程序设计学习(三)之变量、作用域和内存问题
这次讲的主要是变量,作用域和内存问题. 任何一门编程语言,都涉及这三个. 变量,比如全局变量,局部变量等,作用域,也分全局作用域和方法作用域,内存问题,在java中就涉及到一个垃圾回收的问题,由于ja ...
- javascript 高级程序设计 一
前言: 作为一个即将毕业.正在实习的大学生,我也默默的进入了开发者的行列.从一开始的c#编码狗到java程序员再到现在的JS开发者,我一直 希望自己可以在这个'万恶'的互联网时代走的更远.但是我还是一 ...
- 《Javascript高级程序设计》阅读记录(七):第七章
<Javascript高级程序设计>中,2-7章中已经涵盖了大部分精华内容,所以摘录到博客中,方便随时回忆.本系列基本完成,之后的章节,可能看情况进行摘录. 这个系列以往文字地址: < ...
- 《Javascript高级程序设计》阅读记录(六):第六章 下
这个系列以往文字地址: <Javascript高级程序设计>阅读记录(一):第二.三章 <Javascript高级程序设计>阅读记录(二):第四章 <Javascript ...
随机推荐
- Chapter 1 Securing Your Server and Network(12):保护链接服务器
原文出处:http://blog.csdn.net/dba_huangzj/article/details/38438363,专题目录:http://blog.csdn.net/dba_huangzj ...
- CSS中编写省略号代码片段
#component-content #dtMain .dt-ul > li .component-item .component-name{ display:inline-block; ...
- 10_Android中通过HttpUrlConnection访问网络,Handler和多线程使用,读取网络html代码并显示在界面上,ScrollView组件的使用
编写如下项目: 2 编写Android清单文件 <?xml version="1.0" encoding="utf-8"?> <mani ...
- WebService详解(二)
WsExplorer和Tcp/Ip Monitor工具本身就存在于eclipse和MyEclipse中 使用工具的原因: 1. 使用工具可以更好的了解WebService请求的过程 2. 使 ...
- Linux C系统编程:信号与定时器的使用
#include <stdio.h> #include <signal.h> void do_alarm(int num); int main(void) { //注册一个定时 ...
- (Struts2)XWork容器的实现机理
模板方法----callInContext 翻开ContainerImpl的实现,我们可以看到callInContext,这个模板方法是容器所有操作调用的基础. 关于模板方法模式,大家可以看出刘伟老师 ...
- Leetcode_204_Count Primes
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/46366207 Description: Count the ...
- VS2005工程的Device右边内容为空问题
VS2005工程的Device右边内容为空问题 可能是刚刚在删除C盘一些文件或是这些文件因为某些原因丢失了,在打开WINCE6.0系统工程的时候,发现无法编译,才注意到VS2005工程的Device右 ...
- android studio设置代理更新
我们都知道Android Studio是基于IDEA开发的,而我们写的每一个程序又都是有Gradle构建的,Gradle的优点可以说是很多,被很多程序员夸得没边,但是它有一个特点还是值得我们注意的.我 ...
- linux下64位汇编的系统调用(2)
知道了syscall调用号之后还不算完,还要搞清楚2件事: 1 每种调用号需要传递哪些参数: 2 调用如何传递参数以及结果如何返回: 第一个问题的答案是: 在linux系统中某个程序执行时进行的系统调 ...