javascript创建函数的三种方式

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<script type="text/javascript" charset="UTF-8">

	/**
	 * 函数的3种创建方法
	 */
			//1、语句式
			function test(a,b){
				return a+b;
			}
			console.log(test(1,2));

			//2、直接量式
			var test1 = function(a,b){
				return a+b;
			}
			console.log(test1(3,4));

			//3、构造函数式

			var test2 = new Function('a','b','return a+b;');
			console.log(test2(2,4)); 

	/**
	 * 三种方式的解析顺序
	 */		

			test3();
			function test3(){
				console.log('我是test3,语句式创建的');
			}

			//test4(); //出错,因为test4只是被声明为全局变量,可是还没有赋值
			var test4 = function(){
				console.log('我是test4,直接量方式创建的');
			}
			test4();
			// test5(); //出错,因为test5只是被声明为全局变量,可是还没有赋值
			var test5 = new Function("console.log('我是test5 ,构造函数式创建的')");//解析顺序和直接量方式一样(顺序解析)
			test5();

	/**
	 *  三种方式的效率
	 */

			var d1 = new Date();
			var t1 = d1.getTime();
			for(var i=0;i<100000;i++){
				// function test6(){;};// 语句式其次
			    // var test7 = function(){;};//直接量式最快
				//var test8 = new Function();// 构造函数式最慢
			}
			var d2 = new Date();
			var t2 = d2.getTime();
			console.log(t2-t1);

	/**
	 * 三种方式的作用域
	 */
			var k=1;//当这里的k注释掉时,构造函数式会报错找不到k
			function t1(){
				var k=2;
				//function demo(){console.log(k);};// 2
				//var demo = function(){console.log(k)};// 2
				var demo = new Function('console.log(k)');// 1   构造函数式 定义的函数相当于全局,看不见函数内的k,(顶级作用域)
				demo();
			}
			t1();

		</script>

	</head>
	<body>
	</body>
</html>

时间: 2024-10-18 23:06:53

javascript创建函数的三种方式的相关文章

创建函数的三种方式

一.创建函数的三种方式: 二.自调用函数(立即执行函数) 作用:立即开启一个新的作用域,避免污染全局命名空间 原文地址:https://www.cnblogs.com/qqinhappyhappy/p/11603480.html

javaScript定义函数的三种方式&amp;amp;变量的作用域

一.函数定义 方式1.普通方式定义函数 function 函数名(參数n){ 函数体 } function add(a,b){ return a+b; } 方式2.直接量定义函数 var 函数名=function(參数n){ 函数体 } var add=function(a,b){ return a+b; } 方式三.构造方式定义函数 var 函数名=new Function(參数n,函数体); var add = new Function('a,b','return a+b;'); 二.变量的

javaScript定义函数的三种方式&amp;变量的作用域

一.函数定义 方式1.普通方式定义函数 function 函数名(参数n){ 函数体 } function add(a,b){ return a+b; } 方式2.直接量定义函数 var 函数名=function(参数n){ 函数体 } var add=function(a,b){ return a+b; } 方式三.构造方式定义函数 var 函数名=new Function(参数n,函数体); var add = new Function('a,b','return a+b;'); 二.变量的

创建函数的三种方式及区别

1.函数声明 function sum1(n1,n2){ return n1+n2; }; 2.函数表达式,又叫函数字面量 var sum2=function(n1,n2){ return n1+n2; }; 两者的区别:解析器会先读取函数声明,并使其在执行任何代码之前可以访问:而函数表达式则必须等到解析器执行到它所在的代码行才会真正被解释执行. 自执行函数严格来说也叫函数表达式,它主要用于创建一个新的作用域,在此作用域内声明的变量,不会和其它作用域内的变量冲突或混淆,大多是以匿名函数方式存在,

js中创建函数的三种方式及区别

1.函数声明 function sum1(n1,n2){ return n1+n2; }; 2.函数表达式,又叫函数字面量 var sum2=function(n1,n2){ return n1+n2; }; 两者的区别:解析器会先读取函数声明,并使其在执行任何代码之前可以访问:而函数表达式则必须等到解析器执行到它所在的代码行才会真正被解释执行. 自执行函数严格来说也叫函数表达式,它主要用于创建一个新的作用域,在此作用域内声明的变量,不会和其它作用域内的变量冲突或混淆,大多是以匿名函数方式存在,

javascript中构造函数的三种方式

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script type="text/javascript"> // 创建函数的三种方式: // 1 函数声明 // 2 函数表达式 //

JavaScript声明全局变量的三种方式

JavaScript声明全局变量的三种方式 JS中声明全局变量主要分为显式声明或者隐式声明下面分别介绍. 声明方式一: 使用var(关键字)+变量名(标识符)的方式在function外部声明,即为全局变量,否则在function声明的是局部变量.该方式即为显式声明详细如下: var test = 5; //全局变量 function a() { var cc=3; //局部变量 alert(test); } function b(){alert(test);} 声明方式二: 没有使用var,直接

react创建组件的三种方式

react创建组件的三种方式: 1.函数式无状态组件 2.es5方式React.createClass组件 3.es6方式extends React.Component 三种创建方式的异同   1.函数式无状态组件 (1)语法 1 function myComponent(props) { 2 return 3 <div>Hello {props.name}</div> 4 } (2)特点 ● 它是为了创建纯展示组件,这种组件只负责根据传入的props来展示,不涉及到state状态

0166 DOM 之 节点操作: 删除节点,删除留言案例,复制(克隆)节点,动态生成表格案例,创建元素的三种方式,innerHTML和createElement效率对比

1.1.1 删除节点 node.removeChild(child) // 此处的node指 父节点 node.removeChild() 方法: 从 node节点中删除一个子节点,返回删除的节点. <button>删除</button> <ul> <li>熊大</li> <li>熊二</li> <li>光头强</li> </ul> <script> // 1.获取元素 va