所有的函数都是一个对象,所有的对象,都可以用构造函数创建。
凡是构造函数都是可以new的,也就是说都可以成为对象,这里当然要给Function类型的对象取个名字,它就叫“Function对象”。
函数
function fun(){// 定义变量时没有使用关键字
var atguigu = "this is atguigu"
// 在函数作用域访问变量
console.log( atguigu )
}
fun()
构造函数----》new成为Function对象
function Fun() {this.name = '小王'//定义属性
this.age = '18'//定义属性
this.fn = function () {
return 1999
}
}
对象
var obj1 = {name : '手速快',//属性
age : 27,//属性
fun :function () {//方法
return 10
}
}
console.log(obj1)
在JavaScript中定义对象可以采用以下几种方式:1.基于已有对象扩充其属性和方法
2.工厂方式
3.构造函数方式
4.原型(“prototype”)方式
5.动态原型方式 -- 1.基于已有对象扩充其属性和方法
object.name = "zhangsan"
object.sayName = function(name)
{
this.name = name
alert(this.name)
}
object.sayName("lisi") -- 2.工厂方式
function createObject()
{
var object = new Object()
object.username = "zhangsan"
object.password = "123"
object.get = function()
{
alert(this.username + ", " + this.password)
}
return object
}
var object1 = createObject()
var object2 = createObject()
object1.get()
-- 采用带参数的构造方法:
function createObject(username, password)
{
var object = new Object()
object.username = username
object.password = password
object.get = function()
{
alert(this.username + ", " + this.password)
}
return object
}
var object1 = createObject("zhangsan", "123")
object1.get()