对象&&函数
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>对象字面量</title> </head> <body> <script> // 使用对象字面量创建对象 可以在创建对象的时候 直接指定对象的属性 // 语法: // {属性名:属性值,属性名:属性值} // ============================================================================= // 函数 也是一个对象 // 函数中可以封装一些功能(代码) 在需要时可以执行这些功能(代码) // 函数中可以保存一些代码再需要的时候调用 // 创建一个函数对象 开发中一般不使用构造函数来创建函数 构造函数创建函数 只是想让你知道 函数也是一个对象 里面可以放可执行的代码 var fun = new Function('console.log("hello,这是我的第一个函数")') console.log(typeof fun) //function console.log(fun) // 封装到函数中的代码 不会立即执行 函数中的代码会在函数调用的时候执行 当调用函数时 函数中封装的代码会按照顺序执行 // 开发中用的多的是使用函数声明来创建一个函数 //语法: // function 函数名([形参1,形参2,形参3,.....,形参N]) function fn2() { console.log('开发中用的多的是使用函数声明来创建一个函数') alert('hahahhhahha') document.write('wuwuwuuwuwuwuwu') } console.log(fn2) // 调用fn2 来执行函数体内的语句 fn2() // 第三种方式是使用函数表达式来创建一个函数 所谓的函数表达式 就是创建一个匿名函数 然后将这个匿名函数赋值给一个变量 // var 函数名 = function(){} var fn3 = function () {} // ============================================================================= //定义一个用来求和的函数 // 可以在函数的()内来指定一个或多个形参(形式参数) // 声明形参就相当于在函数内部声明了对应的变量 只是声明 并没有赋值 function sum(a, b) { console.log(a + b) } // 在调用函数时可以在()中指定实参(实际参数) // 实参将会赋值给函数中对应的形参 sum(1, 2) // 调用函数时解析器不会检查实参的类型 也不会检查实参的数量 // 如果实参的数量少于形参的数量,则没有对应实参的形参将是undefined // 例子 function fn4(c, d) { console.log('c = ' + c) //123 console.log('d = ' + d) //undefined console.log(c + d) //NaN } fn4(123) // ============================================================================= // 声明一个函数 来求三个数的和 // 可以使用return来设置函数的返回值 // 语法: // return 值 function fn5(f, g, h) { // var d = f + g + h // return d // return后的值将会作为函数的执行结果返回 可以定义一个变量来接收该返回值 return f + g + h // return//如果return语句后不跟任何值就相当于返回一个undefined // 如果函数中不写return,则也会返回undefined 除非return后面有返回正常的值 //return后可以跟任意数据类型 // 在函数中return后的语句都不会执行 alert('在函数中return后的语句都不会执行') } // 变量res的值就是函数的执行结果 // 函数返回什么 res的值就是什么 var res = fn5(1, 2, 3) console.log('res = ' + res) </script> </body> </html>