1.需要传入参数的函数
注:与c++中的函数不同的是,c++中需要注明参数的类型,但是js不用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>title</title>
</head>
<body>
<h1>JS Function</h1>
<p>Result:</p>
<p id="test"></p>
<script src="script.js"></script>
</body>
</html>
/*
* @Author: Lin
* @Date: 2017-07-17 10:27:09
* @Last Modified by: Lin
* @Last Modified time: 2017-07-17 13:33:58
*/
// 不需要标明参数的类型,并且不需要返回值
function myFunction(p1,p2) {
return p1*p2;
}
document.getElementById("test").innerHTML= myFunction(3,4);
// 最后得到的结果就是12
使用函数可以达到”只定义一次但是可以多次使用”的目的。
如果上面的函数在调用的时候没有传进去参数,则返回的结果是整个函数:
function myFunction(p1,p2) {
return p1*p2;
}
document.getElementById("test").innerHTML= myFunction;
得到的结果是:
2.Objects
(1)objects可以有属性值也可以有方法。
(2)objects are variables, too.
(3)得到对象的属性值可以有两种方法:
可以用person.age,即objectName.attrName
或者是person[“age”],即objectName[attrName]
(4)得到对象的方法用objetName.functionName();
例子:
/*
* @Author: Lin
* @Date: 2017-07-17 13:57:45
* @Last Modified by: Lin
* @Last Modified time: 2017-07-17 14:00:51
*/
var person = {
firstName : "John",
lastName : "Smith",
age : 45,
fullName : function() {
return this.firstName + " is " + this.age + " years old.";
}
};
document.getElementById("test").innerHTML = person.fullName();
显示的结果为:
Result is:
John is 45 years old.
如果省略了括号:则得到的不是函数的返回值,而是整个函数的定义。
显示的结果为:
Result is:
3.declare with new
如果变量声明的时候使用了new,则该变量的类型是object,如下测试:
4.局部变量和全局变量
如果将值赋给一个未声明的变量,则该变量为全局变量。
例子:
myFunction();
document.getElementById("test").innerHTML = "I can display the global variable : name = " + name;
function myFunction() {
name = "John";
}
显示的结果为:
I can display the global variable : name = John