javascript的出现,在很长的一段时间里,只是充当表单验证之类的一些琐碎事情,通过减少提交数据的错误率来提高网络操作效率。随着ajax的出现和兴盛起来,基于web的应用程序迎来了一次转机,“富客户端”一词与web应用的联系开始流行起来,随之而来的是javascript受到了极大的重视,各种框架层出不穷。
个人专门去查看学习了网上的不少资料,现将所得整理出来以便随时查阅。 [b]函数的理解:[/b] “面向对象编程(oop)”的概念随着C++、C#和JAVA的兴起而声明远播,javascript处于一些***?的考虑,硬是要与“面向对象”拉扯上亲戚,号称基于对象的编程语言(感觉不伦不类)。\r\n 在“面向对象语言”中都有“类”这个概念,它是对具有一些相同状态(属性)和行为(方法)的事物的抽象,就是说满足这个类的事物都具有一定的共性。而在javascript中,类对应的是函数。
函数的创建
函数的创建和定义是灵活多变的(换个角度也可以说是混乱的),归类如下:
1、定义方式创建函数 function aFunc(x){ return x; }
2、声明方式创建函数 var aFunc= function(x){ return x; }
3、用Function构造函数创建(不常用到的),参数名和函数体都是作为字符串被传递。我们可以随意的增加参数,函数体会最后一个字符串(如果没有参数,只写函数体)。函数体没必要将都写在一行里,可以使用\或者使用字符串连接符+来分隔长代码(\标记告诉JavaScript在下一行查找字符串的其余部分)。
var aFunc = new Function("x","return x;");
var aFunc = new Function("a", "b", "alert" +
"(a+' + ' +b);\
return a+b;");
alert(aFunc(3,4));
Function创建的函数不会被编译,要到运行时才会编译创建,这样可能会影响效率。另两种方式创建的函数会被编译,调用的时候直接执行。
用以上这三中方式创建的函数,其中声明方式(Function构造函数方式)和定义方式存在差别:
有同名函数时如(
var func = function(){return 1;}
func(); //返回1
var func = function(){return 2;}
func(); //返回2
两个调用分别返回1,2
function func(){ return 1;}
func();
function func(){ return 2;}
func();
两个调用都返回2 )
这种差别是由于JavaScript解释引擎的工作机制所导致的。 JavaScript解释引擎在执行任何函数调用之前,首先会在全局作用域中注册以定义方式创建的函数(后 定义的函数重写了先定义的函数),然后再依次执行函数调用。相反,对于声明方式创建的函数,JavaScript解释引擎会像对待任何声明的变量一样,等到执行调用时才会对变量求值。由于JavaScript代码是从上到下顺序执行的,因此当执行第一个func()调用时,func函数的代码就是首先定义代码;而当执行第二个func()调用时,func函数的代码又变成了后来定义的代码。
函数的封装
function ObjectTest(){
//全局的属性和方法,可以理解为public
this.lastLoginTime = new Date();
this.theDate = function(){ alert(this.lastLoginTime.getMonth()+"_"+this.lastLoginTime.getDate()); }
//私有的属性和方法,可以理解为private
var lastLoginTime1 = new Date();
var theDate1 = function(){ alert(this.lastLoginTime.getMonth()+"_"+this.lastLoginTime.getDate()); } }
每个javascript函数都有一个属性--prototype,可以通过这个属性给函数添加全局的属性和方法。
//public方法,对于全局的方法和属性可通过对象进行调用
ObjectTest.prototype.getYear = function(){ return '2009';//this.lastLoginTime.getYear(); }
//静态方法,对于静态方法的调用:typeName.methodName(),不可以通过对象调用
ObjectTest.getMonth = function(){ return '01'; }
未完待续!整理的过程是一个学习的过程,发出来希望大佬们补充,只要是有意义的,板砖也行。
关于javascript函数,下面有一篇不错的文章:
http://www.blueidea.com/tech/web/2006/3823_8.asp
分享到:
相关推荐
本文将详细介绍JavaScript函数的特性和使用方法,帮助读者更深入地理解和应用函数。 #### 二、函数对象(Function Object) 在JavaScript中,函数本质上是对象,这一点非常重要。当我们定义一个函数时,实际上是在...
- 对创建在线应用有基本的认识。 #### 版权与免责声明 版权所有 © 2015 由Tutorials Point (I) Pvt. Ltd.所有。本电子书中的所有内容和图形均为Tutorials Point (I) Pvt. Ltd.的财产。未经出版者书面同意,用户...
Javascript函数之getOwnPropertyDescriptor()方法使用和认识
JavaScript是一种广泛应用于网页和网络应用的脚本语言,它在客户端运行,为用户提供动态...通过阅读和学习"Javascript常用函数及基本教材集合.txt",你将对JavaScript有更全面的认识,并能够解决实际开发中遇到的问题。
### 深入认识JavaScript中的eval函数 #### 一、eval函数概述 在JavaScript中,`eval`函数是一个内置函数,它可以将字符串形式的代码解析并执行。这为开发者提供了一种灵活的方式来动态生成和执行代码。然而,由于...
**认识JavaScript函数作用域** 函数作用域是编程中一个关键概念,它决定了变量在何处可以被访问。在JavaScript中,作用域主要分为三类:全局作用域、函数作用域和块级作用域(自ES6引入)。 1. **全局作用域**: ...
jQuery 是一个 JavaScript 函数库。 jQuery 库包含以下特性: HTML 元素选取 HTML 元素操作 CSS 操作 HTML 事件函数 JavaScript 特效和动画 HTML DOM 遍历和修改 AJAX Utilities 向您的页面添加 jQuery 库 ...
JavaScript计算器源码是一个常见的编程学习项目,用于理解基础的事件处理、DOM操作和计算逻辑。这个压缩包可能包含了一个...这是一个很好的实践平台,可以帮助初学者提升JavaScript技能,并对Web开发有更全面的认识。
学习JavaScript时,你需要了解变量、数据类型(包括基本类型和引用类型)、运算符、控制流程(如条件语句和循环)、函数、数组、对象、类等基础知识。此外,熟悉JavaScript的事件处理机制也非常重要,因为它是网页与...
### 重新认识JavaScript:深入探索其核心特性与应用 #### 一、JavaScript的历史与现状 JavaScript自1995年由Netscape公司的工程师Brendan Eich创建以来,已经成为全球最受欢迎和广泛使用的脚本语言之一。尽管起初...
第一部分 认识JavaScript 第1章 Javascript浅谈 1-1什么是JavaScript? 1-2如何使用Javascript 1-3 Javascript和 HTML的搭配 1-4 JavascnPt和一般程序语言的差异 1-5 Javascnpt的限制 第2章 撰写Javascnpt 2-1 ...
【图解JavaScript结构】 在深入理解JavaScript的结构...通过这些图解,你可以逐步建立起对JavaScript结构的清晰认识,从而更好地编写和调试代码。深入学习和实践这些知识点,将有助于成为一名熟练的JavaScript开发者。
了解JavaScript炸弹的原理,对于前端开发者来说,有助于提升对性能优化和安全性的认识。在编写JavaScript代码时,应尽量避免过度消耗资源的操作,保持代码简洁高效,并且合理使用各种优化手段,如使用Array的join...
JavaScript是一种广泛应用于...通过深入学习这些思维导图中的知识点,可以对JavaScript有全面的认识,并能逐步提高编程能力。在实践中不断巩固这些概念,结合实际项目经验,将有助于成为一名熟练的JavaScript开发者。
js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数...认识js回调函数的使用技巧和认识js回调函数的使用技巧和认识js回调函数的使用技巧和认识js回调函数的使用技巧和认识js回调函数的使用技巧和...
- 讨论了人们对JavaScript的常见偏见,以及这些偏见如何限制了对语言潜力的认识。 - **1.1.3.4 JavaScript是为业余爱好者设计的?** - 反驳了认为JavaScript只适用于初级开发者的想法,并强调其强大的专业用途。 ...
JavaScript函数中还有一个重要的概念是“arguments”对象,它是一个类数组对象,用于存储传递给函数的所有参数。这使得函数即使没有明确声明参数列表,也能访问传递给它的所有参数。通过“arguments”对象,可以轻松...
JavaScript提供了内置对象,如 `Math`、`Date`、`Array` 和 `String`,这些对象提供了许多实用的函数和方法。例如,`Math` 对象提供了数学运算相关的函数,`Date` 对象用于处理日期和时间,`Array` 对象提供了数组...
JavaScript 的 `eval` 函数是一个强大且复杂的工具,主要用于将字符串转化为可执行的 JavaScript 代码。在深入讨论之前,我们首先要明确一点:`eval` 的使用应当谨慎,因为它可能导致安全风险,例如执行恶意代码,...
JavaScript还允许我们接收用户的输入,例如,使用`prompt()`函数获取用户的名字,并将其保存到变量中: ```javascript var myName = prompt('请输入您的名字'); alert(myName); ``` 变量的值是可以改变的,这意味...