主题
: Javascript
——
编程思想
写给
C/C++程序员
Javascript 编程思想——写给 C/C++程序
员
By yeqingli
抛砖引玉,给出一些之前学习
JS 时候的体会,希望引发大家的讨论和思考吧。
本文主要分三节:
第一节 像用
C 一样使用 JS。在不熟悉的时候,语言的学习者会倾向用新语言来模拟旧
语言。
第二节 像用
JS 那样使用 JS。熟悉了一个语言以后,语言的学习者开始将语言的特性
发挥出来,并且开始消除旧语言的影子。
第三节
JS 的 Dom 对象。最有用、最常用、也是最微秒的部分。只讲问题,详细 API 请参
考《
Javascript 权威指南》。
第一节
JS 本身(像用 C 一样使用 JS)
C/C++
Javascript
备注
变量定义
int/float/
double/cha
r*等
var v; JS 是
弱类型语言
不
需要显式指定变量类型,也可
以理解为变量类型不是跟变量
本身绑定的,而是跟变量的值
绑定的。所以,值一确定,类
型就确定了,而变量名只是起
标识作用。
弱类型语言:变量定义的时候
不需要显示指定变量类型的编
程语言。
数据的粘合
(
c 语 言
的)
struct
关联数组
“使用关联数组实现数组的粘
”
合 基本上也是现代弱类型动
态语言的惯例。
参数传递
默认拷贝传递,
加
& 符 号 可 以
引用传递
默认是引用传递
内存管理
手工内存管理
(
C++ 可以 利
用
STL 进行自
动内存管理
)
自动内存管理
这个基本上也是脚本语言的惯
例。
程序三大结构 选择
/判断/循
环
语法上是一样的。但
JS 针对数
组 和 对 象 有 遍 历 操 作
for(... in ...)
For...in...是更特殊的循
环语句。
程序粘合
1
函数定义
function
程序粘合
2
类的定义
Function.prototype
这个下一节会进一步叙述
第二节
JS 的面向对象(像 JS 的作者那样使用 JS)
C/C++
Javascript
备注
语言泛型
过程式
函数式加过程式