最近在学习Java script。感觉与C++还是有很多差距,主要表现在语法不严谨,不精确,岗开始接触,还真的不适应。Java script把数值与字符串很多时候是混淆的,不明确的,而C++在数值与字符串的赋值定义上是非常严谨的。
以下举例说明。
1,变量的定义上。
C++有很多的多量类型。如字节BYTE,整数如int,short int,unsigned int,long int,浮点数如float,double等。
但是在Java ,全用万能的var来定义,至于var后的变量类型,则与等号右边的变量密切相关。
举例:我们把字符串”Beijing”与数值2021相加,看结果。
C++:
int i=2021;
CString str1=“Beijing”+itoa(i);
打印str1可得到。这里,必须把2021用itoa函数转化为字符串。
Java script:
var i=2021;//整数
var str1=“Beijing”;//字符串
var iorstr=str1+i;
注意,变量iorint的类型,根据Java script的语法规则,它必须而且肯定是字符串类型,结果居然也是”Beijing2021”。

这里,整型数i也太委曲了,”我”到底是整数还是字符串?这两个相距甚远的东西,怎么能稀里糊涂合在一起,而且还蒙对了?在C++中写成这样,估计老师直接给不及格了。
2,关系运算符
如==,c++与Java script是有很大区别的。C++的== 与 java的===相当。
C++:
char a='1';
char b=1;
那么a==b的结果显然是false。
但在Java script:
var a='1';
var b=1;
那么a==b的结果却是true。
只有写成a===b,结果才是false。
总结:C++与Java script,语法上有很多相同的地方,如关系运算、逻辑运算、赋值语句,还有字符串函数、日期时间函数等等。但也有如以上举例的运算结果大相径庭的坑。所以,工程上,C++是首选,严谨、精确;网站、游戏等用Java script,对字符串与数值没什么概念,随时可以合到一起。
我们公司有Java script开发工程师,也有C++开发工程师,两类工程师有时候交流,往往是鸡同鸭讲,合不到一起。实际上,也很正常。一类是搞高精度数控的,数学高考145分以上,与一个搞网络,把'1'与1不分的,高考数学在及格线上挣扎的人,的确很难在编程上达成一致。Java script,在排名上,也永远在C,C++的后面,这的确是很公道的。
2021年参加的第一场活动…
我对它的爱无法用言语形容[害羞]







