JavaScript的变量命名是java的驼峰形式
注释是C的
//
或者
/*
…
*/
严格模式 “use strict”
if语句
如果只有一句
也尽量使用{}
变量定义: var message;
var message = “hi”;
var声明都会变成有一个局部变量,
没有var声明的,就是全局变量
比如
function sayhi(){
var message = "hi";
}那么这个message就是局部变量,出了函数就不能用了
function sayHi(){
message = "hi";
}这个message就是全局变量,出了函数还是能用
但是不建议使用全局变量
var messsage = “hi”, found = flase , age = 20;
可以这样定义变量,连续的,
不要定义名字是eval或argument这样的变量
数据类型
Boolean Number Null String Undefined Object
用typeof来判断这个是什么类型的变量,返回的是数据类型名字(字符串)
下面对这些类型进行一一讲解:
var message ;
像这个message,默认就是undefined类型的,而且它的值也是undefined
var car = null;
Null类型的值也是null
null表示空对象指针
alert(typeof(car))输出的是object
null == undefined 返回的是true,undefined值是派生自null值
如果我们想弄一个变量指向一个对象,但是却还没想到它应该指向谁,我们可以把这个变量赋值为null,空对象指针。
var found = true;
var lost = false;
它跟数字值是不同的,true不是1,false不是0,区分C语言,而且Boolean是用的比较多的
任何的类型都可以转化为Boolean,通过使用函数
Boolean(******);
如果是String,String不是"",有字符的,那么就是true
如果是Number,Number不是0或者NaN,那么就是True
如果是Object,Object不是null,那么就是true
var num1 = O75; 八进制
var num2 = OxA; 十六进制
var num3 = 5; 整数
var num4 = 1.2; 浮点数
var num5 = 1.0 会被解析成整数1
var num6 = 3.14e7 e7表示是10的7次方
不要做浮点数的判断
比如
if ( a + b == 0.3)
很容易翻车,就算a = 0.1, b= 0.2,也会报错
除非是0.15 , 0.15不会错
这个是IEE754的通病
这Number中,我们要注意:
计算的值不要超过限定范围Number.Max_value Number.MIN_value
用isFinite(***)来判断
NaN表示:任何本来要返回数值的但是却未返回,比如任何数/0都会报错的,在任何编程语言那,但是在JavaScript这里,会返回NaN
NaN的特殊性:
NaN与任何数字计算都会是NaN
NaN == NaN返回是false
isNaN(***)判断是否为NaN
比如是isNaN(true),返回false,因为true可以转为数值类型
isNaN(“Blue”),返回true,因为字符串Blue不能转为数值类型
isNaN(“10”),返回false,因为字符串10可以转为数值类型
所以这个函数是先把里面的看能不能转为数值类型
数值转换
Number(),任何类型都可以,以下情况会转为NaN:字符串有字母或者字符的,undefined
parseInt(),针对字符串转为数字,比如有字符串""(空),parseInt之后是NaN,
再比如parseInt(“sadasd123”),出来是123
parseInt(“1234sadas”),出来是1234
parseInt(“12.2”),出来是12
parseIn(“10”,16),出来是16,后一个参数指明了几进制,最好都是10吧,我们一般处理的都是10进制的数字
这个parseInt比Number好用,但是要注意版本,如果是ECMAScript5的话,这个版本是不具有处理8进制的能力
parseFloat(),针对字符串转为数字,只能处理10进制,并且始终忽略字符串开头的0
几乎每个类型都会有toString()这个函数,跟java很像
如果需要JavaScript高级程序设计的资源,可以给我留言