一. 函数
1. 定义函数
定义函数有两种方式:
-
function 函数名(…) {}
-
var 函数名 = fuction (…){}
首先看一下第一种方式:
<button onclick="a()">a</button> <script type="text/javascript"> function a() { alert("zhangjia"); } </script>
再看一下第二种方式:
<button onclick="a()">a</button> <script type="text/javascript"> var a = function () { alert("zhangjia"); }; </script>
2. 无参、无返回值的函数
<button onclick="a()">a</button> <script type="text/javascript"> function a() { alert("zhangjia"); } </script>
3. 无参、有返回值的函数
<script type="text/javascript"> function a() { return "zhangjia" } document.write(a()); </script>
4. 有参、无返回值的函数
<button onclick="a(2,3)">a</button> //2---3 <script type="text/javascript"> function a(x,y) { alert(x + "---" + y) } </script>
5. 有参、有返回的函数
<button onclick="a(b(2,3))">a</button> //5---undefined <script type="text/javascript"> function a(x,y) { alert(x + "---" + y) } function b(x,y) { return x + y; } </script>
二. 对象的方法
在js中,函数和方法是有区别的。一般我们称可以直接调用为函数,需要对象才能调用的,称之为方法。比如String()是函数,而toString()是就是方法。下面的例子展示了如何在一个对象中定义一个方法,因为show必须使用book对象才能调用,所以我们称show为方法,而不是函数。
<script type="text/javascript"> var book={ id:1, name:"明朝", //方法名为show show:function () { console.log(this.id + " " + this.name) // 1 明朝 console.log(this); //{id: 1, name: "明朝", show: ƒ} console.log(typeof this);//object } }; console.log(typeof book); //object book.show(); </script>
请登录之后再进行评论