十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这期内容当中小编将会给大家带来有关javascript中函数有哪些书写方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、成都网站制作、成都外贸网站建设、龙亭网络推广、微信小程序、龙亭网络营销、龙亭企业策划、龙亭品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供龙亭建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
1. 常规写法:
// 函数的定义 function foo() { alert('常规写法'); } // 函数的调用 foo()
这种写法是大家最熟悉,最易于理解的写法和调用方法,接着往下看
2. 匿名函数写法
// 函数的定义 var foo = function(){ alert('匿名函数定义'); } // 函数的调用 foo()
这里把功能定义弄成了匿名,省去了命名的痛苦,同时赋给了一个变量,变量就成了功能的代名词,接着看
3. 将方法作为一个对象
// 定义 var test = { fun1: function(){ }, fun2: function(){ } } // 调用 test.fun1(); test.fun2();
在Javascript中变量功能很强大,可以代表很多东西。
4. 构造函数中给对象添加方法
// 给对象添加方法 var fun = function(){ }; // 定义函数对象 fun.prototype.test = function(){ alert('这是在在foo函数上的原始对象上添加test方法,构造函数中用到'); } // 调用 var myfun = new fun(); // 创建对象 myfun.test(); // 调用对象属性
通过prototype关键字添加方法。
5. 自执行函数 ( function(){…} )() 和( function(){…} () )
前面讲的函数定义和调用时分开的,这里马上讲的定义和执行是一起进行的。
( function(){…} )() 和( function(){…} () ) 是 两种javascript立即执行函数的常见写法,最初我以为是一个括号包裹匿名函数,再在后面加个括号调用函数,最后达到函数定义后立即执行的目的,后来发现加括号的原因并非如此。要理解立即执行函数,需要先理解一些函数的基本概念。
函数声明、函数表达式、匿名函数
函数声明:function fnName () {…};使用function关键字声明一个函数,再指定一个函数名,叫函数声明。
函数表达式var fnName = function () {…};使用function关键字声明一个函数,但未给函数命名,最后将匿名函数赋予一个变量,叫函数表达式,这是最常见的函数表达式语法形式。
匿名函数:function () {}; 使用function关键字声明一个函数,但未给函数命名,所以叫匿名函数,匿名函数属于函数表达式,匿名函数有很多作用,赋予一个变量则创建函数,赋予一个事件则成为事件处理程序或创建闭包等等。
函数声明和函数表达式不同之处在于,
一、Javascript引擎在解析javascript代码时会‘函数声明提升’(Function declaration Hoisting)当前执行环境(作用域)上的函数声明,而函数表达式必须等到Javascirtp引擎执行到它所在行时,才会从上而下一行一行地解析函数表达式,
二、函数表达式后面可以加括号立即调用该函数,函数声明不可以,只能以fnName()形式调用 。以下是两者差别的两个例子。
// 方式1: ( function(){…} () ) ( function(){alert('hello world, I am coming');}() ); // 函数有参数的情况,有时为确保执行,前面加; // 看到别人的插件,你会发现人家开头处加了一个";",这样就算页面js有错误,加载运行他的插件也能保证运行,如: ;(function(e){alert(e);}('hello world')); // 方式2:( function(){…} )() (function(){alert('hello');})(); // 有时在前面加运算符,常见的是!与void !function(){alert('hello');}(); void function(){alert(2);}();
6 $(function(){})写法
$ (function(){/…/});
是 $(document).ready(function(){/…/})
的简写形式,是在DOM加载完成后执行的回调函数,并且只会执行一次。
$( document ).ready(function() { console.log( "ready!" ); });
与如下写法等价
$(function() { console.log( "ready!" ); });
在一个页面中不同的js中写的$(function(){/…/});
函数,会根据js的排列顺序依次执行。
上述就是小编为大家分享的javascript中函数有哪些书写方法了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。