C语言与javascript的不同之处
介绍
最近会把一些C语言的小程序,小算法移植到js中,这里简单记录一下两种语言的不同之处。
数据类型
C语言中有int,char,float等等,而js中只有let(先忽略var),所以转换过程中遇到C语言中的数据类型要换成let。
除法
C语言中常用一种除法整除取整比如int a = 5/2;结果就是2。而在js中这样计算默认会变成2.5,要达到C语言的写法要改成let a = parseInt(5/2)。
除法取余和C语言一样直接使用%就可以了。
取反
C语言中并没有真正的布尔类型,一般是用0作为假,非0作为真,在if判断时会和数字类型混用,比如:
int hasHouse = 0;
if (!hasHouse) {
doMakeMoney();
hasHouse = !hasHouse;
}
如果js也这样写的话,
int hasHouse = 0;
if (!hasHouse) {
doMakeMoney();
hasHouse = !hasHouse;
}
最后hasHouse会变成true或者false这样的bool类型,而不像C语言只会在0和1之间变化。js处理这种情况最后把只用作bool的,在js中改成bool类型
int hasHouse = false;
if (!hasHouse) {
doMakeMoney();
hasHouse = !hasHouse;
}











网友评论