对象字面量,函数生成

  • 1.对象生成
  • 1.1new对象
  • 1.2利用对象字面量(有点类似于java的构造方法)
  • 2.函数生成
  • 2.1构造函数生成一个函数(可以不看,不推荐用)
  • 2.2使用函数声明建一个函数
  • 2.3用函数表达式创建一个函数
  • 3.函数被调用的时候不会检查实参的数量和类型
  • 4.小案例(判断奇偶),用最简单的代码写(记得用函数)
  • 5.函数加括号不加括号区别(※※※※※)
  • 6.函数套娃


1.对象生成

1.1new对象

var obj = new Object();
obj.name = "林青霞";
obj.age = 18;
obj.hobby = "男人";
console.log(obj);

1.2利用对象字面量(有点类似于java的构造方法)

<script type="text/javascript">
			//使用对象字面量,可以在创建对象时,
			//直接指定对象中的属性语法。{属性名∶屈性值,属性名:属性值....}
			var obj = {name:"林青霞",age:23,hobby:"男"};
			console.log(obj);
			//对象字面量的属性名可以加引号也可以不加,
			//建议不加,如果要使用一些特殊的名字,则必须加引号

		</script>

2.函数生成

2.1构造函数生成一个函数(可以不看,不推荐用)

<script type="text/javascript">
			//函数
			//使用构造函数生成一个函数
			//可以将要封装的代码以字符串形式传递给构造函数
			var fun = new Function("console.log("这是一个函数")");
			fun();
		</script>

2.2使用函数声明建一个函数

<script type="text/javascript">
			//使用函数声明建一个函数
			function 函数名([形参1,形参2.....]){

			}
		</script>

2.3用函数表达式创建一个函数

<script type="text/javascript">
			//用函数表达式创建一个函数
			//实际上是创建了一个匿名函数赋值给一个变量
			var fun2 = function(){
				console.log("***");
			}; //最好加一个分号
			fun2();
		</script>

3.函数被调用的时候不会检查实参的数量和类型

//调用函数的时候不会检查实参的类型和数量
//所以要注意是否有可能接受到非法的参数
//多余实参不会被赋值
//如果实参的数量少于形参的数量,则没有对应实参的形参将是undefined

<script type="text/javascript">
			//调用函数的时候不会检查实参的类型和数量
			//所以要注意是否有可能接受到非法的参数
			//多余实参不会被赋值
			//如果实参的数量少于形参的数量,则没有对应实参的形参将是undefined

			function fu(a, b){
				console.log(a+b);
			}
			fu(23, 56);
		</script>

4.小案例(判断奇偶),用最简单的代码写(记得用函数)

<script type="text/javascript">
			//判断奇偶
			function isou(num){
				return num%2==0;
			}
			
			var result = isou(4);
			console.log(result);
		</script>

5.函数加括号不加括号区别(※※※※※)

  • mianji():调用函数 ----->相当于使用的函数的返回值
  • mianji: 函数对象 ----->-相当于直接使用函数对象
  • 见案例:
<script type="text/javascript">
			function mianji(r){
				return 3.14*r*r;
			}
			function fun(a){
				console.log("a ="+ a);
			}
			/*
			mianji()
			调用函数
			-相当于使用的函数的返回值
			mianji
			-函数对象
			-相当于直接使用函数对象
			*/
		   fun(mianji(10)); //相当于使用函数的返回值
		   fun(mianji);		//传递对象本身
		</script>

6.函数套娃

js区别于其他语言,可以在函数里面声明另一个函数

<script type="text/javascript">
			//函数可以套娃,可以在一个函数里面声明另一个函数。
			function fun3(){
				function fun4(){
					alert("我是函数4");
				}
				return fun4; //不加括号,否则就是返回函数4的返回值,而不是函数4的对象。
			}
			/*var es = fun3();
			es();*/
			//或者下面这样
			fun3()();
		</script>