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 ...
随机推荐
- 【翻译】Ext JS 6有什么新东西?
工具包ToolKits 发布 包的命名 Fashion 图表 ItemEdit插件 网格 电子表格 可操作模式Actionable Mode和可访问性 LazyItems插件 屏幕阅读器支持可访问性 ...
- PA 项目任务创建资源
-- 创建资源 DECLARE p_project_id NUMBER := 155233; p_task_id NUMBER := 244639; p_resource_list_member_id ...
- 软考之路--J2SE,从HelloWorld到传世代码
"Hello World"程序指的是只在计算机屏幕上输出"Hello, World!"(意为"世界,你好!")这行字符串的计算机程序.hel ...
- WdatePicker()时间控制方式(转载+原创)
控制时间在制定范围内: <input class="wzsrk" name="startDateStr" id="startDateStr ...
- Leetcode_26_Remove Duplicates from Sorted Array
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41558551 Remove Duplicates from ...
- 4.5、Libgdx运行日志管理
(原文:http://www.libgdx.cn/topic/47/4-5-libgdx%E8%BF%90%E8%A1%8C%E6%97%A5%E5%BF%97%E7%AE%A1%E7%90%86) ...
- 【LaTeX排版】LaTeX使用--入门基础<一>
经过两个多星期,毕业论文终于写完了.由于自己对Word软件并不是很熟悉,再加上在数模时见识过LaTex的强大之处,于是就决定用LaTex进行论文的排版.使用LaTex可以避免像Word那样换台机器而出 ...
- g++和gcc的相同点和区别
gcc和g++的区别和联系 gcc和g++都是GNU(一个组织)的编译器. 1.对于.c后缀的文件,gcc把它当做是C程序:g++当做是C++程序: 2.对于.cpp后缀的文件,gcc和g++都会当做 ...
- 第十一章 图像之2D(2)
Android游戏开发群:290051794 Libgdx游戏开发框架交流群:261954621 作者:宋志辉 出处:http://blog.csdn.net/song19891121 本文版权归作 ...
- 如何配置android的adb环境变量
如果打开DOS窗口,输入adb显示既不是内部命令也不是外部命令,则说明没有配置adb环境变量.方法如下: 第一步: 打开环境变量配置窗口.右击计算机,属性-高级系统设置-环境变量. 第二部: 添加an ...