您的位置:首页 > Web前端 > JavaScript

JavaScript:对象

2015-09-24 11:11 190 查看
有关原型和闭包系列文章转来来源传送门:1、http://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html
2、/article/4803569.html

java或者C#中的对象都是new一个class出来的,而且里面有字段、属性、方法,规定的非常严格。但是javascript就比较随意了——数组是对象,函数是对象,对象还是对象。对象里面的一切都是属性,只有属性,没有方法。那么这样方法如何表示呢?——方法也是一种属性。因为它的属性表示为键值对的形式。详细介绍见传送门:一切都是对象

这个可能比较好理解,那么函数和数组也可以这样定义属性吗?——当然不行,但是它可以用另一种形式,总之函数/数组之流,只要是对象,它就是属性的集合。

以函数为例子:

var fn = function () {
alert(100);
};
fn.a = 10;
fn.b = function () {
alert(123);
};
fn.c = {
name: "王福朋",
year: 1988
};


上段代码中,函数就作为对象被赋值了a、b、c三个属性——很明显,这就是属性的集合吗。

你问:这个有用吗?

回答:可以看看jQuery源码!

在jQuery源码中,“jQuery”或者“$”,这个变量其实是一个函数,不信你可以叫咱们的老朋友typeof验证一下。

console.log(typeof ($));  // function
console.log($.trim(" ABC "));


验明正身!的确是个函数。那么咱们常用的 $.trim() 也是个函数,经常用,就不用验了吧!

很明显,这就是在$或者jQuery函数上加了一个trim属性,属性值是函数,作用是截取前后空格。

javascript与java/C#相比,首先最需要解释的就是弱类型,因为弱类型是最基本的用法,而且最常用,就不打算做一节来讲。

其次要解释的就是本文的内容——一切(引用类型)都是对象,对象是属性的集合。最需要了解的就是对象的概念,和java/C#完全不一样。所以,切记切记

有意思的:console.log(typeof
($)); //
function
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: