JavaScript中数据类型
number
string
boolean
undefined
object
null
其中基本数据类型为number,string Boolean,undefined,null
object为复杂数据类型(广义的对象)
算式运算
NaN与任何数值运算都是NaN
在实现number与number运算的情况下,和java等编译语言不同的地方是:
java在int数据进行除法时,会将小数部分自动省略,而JavaScript中的number进行除法时,会保留小数。
java中没有说过直接让两个数值进行与或运算,而在JavaScript有说让两个数值进行与或运算。对于非布尔值进行与运算,会先将其转化为布尔值,然后在运算,并返回原值;
JavaScript中与运算的规则
如果两个值都为true,返回最后一个真值,返回值类型为number;如果一真一假,返回false,返回值类型为number;如果全假的话,返回第一个假,返回值类型根据第一个假值而定。(NaN或0)
进行与运算,如果第一个值为true,直接返回第二个值,如果第一个值为false,则直接返回第一个值;进行或运算,如果第一个值为true,必然返回第一 个值,如果第一个值为false,则直接返回第二个值。
关系运算符> <
number类型数值进行> 或者 < 运算跟java中的规则一致;字符串类型数值进行对比,比较的是字符第一个字符的大小,如果第一个一样大,则进行下一个字符的对比,直到对比完或者找到大于或者小于的情况。
所以在我们比较俩个字符串的数字时,一定要记得转型对比。
console.log("123344"> +"3");//加“+”强制转型
转义字符
在JavaScript中使用转义字符输入Unicode编码 \u + 四位编码(十六进制)
再网页中直接使用 &+#+字符编码(十进制)+;
与Java不同的是,javaScript中有“== =”全等于和 “!==”全部等于,javaScript中的 ==可以进行不同数据类型的对比, 不受数据类型的影响,而全等于考虑到了数据类型的不同情况。
prompt();函数
该函数可以弹出一个提示框,该提示框中会有一个文本框,用户可以在这个文本框中输入一段内容,该函数需要一个字符串作为参数,该字符串作为提示框的提示文字
用户输入的内容将作为函数的返回值返回,我们可以定义变量来接受这个返回值
JavaScript对象的初步认识
JavaScript对象跟java中的对象稍微有些不同,在我看在,java中的对象创建稍微严谨一些,java在创建对象之前,需要创建这个对象的类,然后通过这个类来创建相对应的对象,这一个对象的属性在创建类的同时已经封装好了,只要创建处对象,该对象就已经拥有了相应的属性;但是JavaScript稍微有点不同,JavaScript中先创建对象,然后再给对象通过点运算添加属性,这样的好处是应变能力强,能做到随时添加,但是没有封装的效果,相对来说比较乱。
JavaScript中,创建的number属性的值之间是独立的,互不影响。
var a =123;varb = a;a++;console.log("a = "+ a);console.log("b = "+b);
输出结果:
"a = 124"
"b = 123"
JavaScript中,创建对象,如果将两个对象联系在一起,改变其中一个变量,则会影响到另一变量。
var obj =newObject(); obj.name = "hzt"; var obj2 = obj; obj.name = "zph"; console.log(obj.name); console.log(obj2.name);
结果:
"zph"
"zph"
这就是JavaScript中基本数据类型的与引用数据类型的的区别。
JavaScript中的基本数据类型直接储存在栈内存中,对象储存在堆内存中。