问题的起源

其实这个问题来源于C和C++,因为C或C++里都有一个特殊的数据类型—-指针,那时候所谓的传值和传引用是对指针来说的。那么针对指针来说,什么是传值,又什么是传引用呢?首先,指针作为一种数据类型,其本身肯定是占用一定的内存空间,而且指针同时还要指向另一块内存空间。

Read More

在JavaScript中,有5种简单数据类型和1种复杂数据类型,简单数据类型有:Undefined,Null,Boolean, Number和String;复杂数据类型是Object,Object中还细分了很多具体的类型,比如:Array,Function,Date,RegExp等等,还有我们自己定义的对象,自定义类型。今天我们就来探讨一下,使用什么方法判断一个出一个变量的类型。

Read More

JavaScript是一种动态类型语言,变量是没有类型的,可以随时赋予任意值。但是,数据本身和各种运算是有类型的,因此运算时变量需要转换类型。大多数情况下,这种数据类型转换是自动的,但是有时也需要手动强制转换。

Read More

概述

定义方法

对象(object)是JavaScript的核心概念,也是最重要的数据类型。JavaScript的所有数据都可以被视为对象。
简单说,所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成。

Read More

Number类型

JavaScript内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。所以,1与1.0是相等的,而且1加上1.0得到的还是一个整数,不会像有些语言那样变成小数。

Read More

首先说明

首先要说明的是,咱现在不是高手,最多还是一个半桶水,算是入了JS的门。 谈不上经验,都是一些教训。这个时候有人要说,“靠,你丫半桶水,凭啥教我们”。您先别急着骂,先听我说。你叫一个大学生去教小学数学,不见得比一个初中生教得好。因为大学生早已经过了那个阶段,都忘记自己怎么走过来的了。而对于初中生,刚好走过那个阶段,对自己怎么走过来的还记忆犹新,或者还有一些自己的总结。比如,很多高手觉得那本犀牛书入门很好,他们觉得太简单了,但以我的经验来看,它不是入门的最好选择。

Read More

显然这是一个无关IE(高级IE除外)的话题,尽管如此,有兴趣的同学还是一起来认识一下ECMAScript5标准中getter和setter的实现。在一个对象中,操作其中的属性或方法,通常运用最多的就是读(引用)和写了,譬如说o.get,这就是一个读的操作,而o.set = 1则是一个写的操作。事实上在除ie外最新主流浏览器的实现中,任何一个对象的键值都可以被getter和setter方法所取代,这被称之为“存取器属性”。

Read More