javascript是没有类的概念,那么对象是如何定义的,没错,就是函数!
2018-01-11 18:47
453 查看
javascript是一种面向对象的语言,这已经是不争的事实,可是对象如何产生?如果按照我的想法,javascript中除了变量剩下的就是函数(个人理解,也不知对错),但是其文档中说javascript中处了基本类型,其余的都是对象,这个其余的包含了函数。
我们知道在C#等语言中,对象是由构造函数产生的,构造函数是定义在类中的,而javascript是没有类的概念,那么对象是如何定义的,没错,就是函数!
在javascript中,我说这个函数奇怪,那如何奇怪呢,因为我们可以将定义好的函数直接赋给一个变量,甚至作为另一个函数的参数传递,函数作为参数传递,在C语言的函数指针中屡见不鲜,但是javascript中似乎没有指针这个概念,但是有对象,也就是函数,我们知道对象一般是指向内存的一个地址,我不知道在javascript中是不是这样,但是它的确可以这么用,看下面的例子吧!
function Person(name) {
this.name = name;
alert(this.name);
}
Person.prototype.getName = function () {
return this.name;
}
function Test() {
var Li = new Person("刘宇");
alert(Li.getName());
}
var pTest = Test;
pTest();
我们知道在C#等语言中,对象是由构造函数产生的,构造函数是定义在类中的,而javascript是没有类的概念,那么对象是如何定义的,没错,就是函数!
在javascript中,我说这个函数奇怪,那如何奇怪呢,因为我们可以将定义好的函数直接赋给一个变量,甚至作为另一个函数的参数传递,函数作为参数传递,在C语言的函数指针中屡见不鲜,但是javascript中似乎没有指针这个概念,但是有对象,也就是函数,我们知道对象一般是指向内存的一个地址,我不知道在javascript中是不是这样,但是它的确可以这么用,看下面的例子吧!
function Person(name) {
this.name = name;
alert(this.name);
}
Person.prototype.getName = function () {
return this.name;
}
function Test() {
var Li = new Person("刘宇");
alert(Li.getName());
}
var pTest = Test;
pTest();
相关文章推荐
- JavaScript中定义对象的几种方式(JavaScript中没有类的概念,只有对象)
- eval函数就是JavaScript用来解释JSON字符串的,把字符串转化为对象、数组、函数或者其它。
- javascript中对象函数继承的概念
- JavaScript 面向对象程序设计 变量,函数定义之不可不知
- JavaScript作用域、上下文环境、函数对象的定义与调用、匿名函数的定义与调用、闭包
- javascript对象小探之八——函数声明与定义位置要求
- javascript 对象中的函数 定义方式用prototype 动态增添 节省空间
- 关于JavaScript中函数的定义、对象以及对象实例化的理解
- JavaScript 申明函数的三种方法 每个函数就是一个对象(一)
- JavaScript总体的介绍【JavaScript介绍、定义函数方式、对象类型、变量类型】
- JavaScript作用域、上下文环境、函数对象的定义与调用、匿名函数的定义与调用、闭包
- C#抽象类与抽象方法--就是类里面定义了函数而函数里面什么都没有做的类
- javascript开发排错一例——提示函数没有定义,而明明已经定义
- JavaScript 的函数如何定义
- javascript对象继承时函数的定义
- Javascript的面对对象的理解 【上】(prototype,函数和对象等概念)
- 如何用javascript 的eval动态执行一个需要传对象参数的函数
- [JavaScript]每个函数就是一个对象(一):申明函数的三种方法
- javaScript中如何定义对象
- 【面向对象程序设计常见面试题】如何定义和实现一个类的成员函数为回调函数?