1.<noscript>元素 浏览器不支持js或者js被禁用起作用
2.标识符原则
(1)第一个字符必须是字母 下划线 或者 $
(2)其他字符可以是 字母 下划线 $ 数字
3.关键字和保留字
4.变量
var a; 不赋值 a=undefined
函数里面的var a;a在函数外面失效
函数里面的a=10; 没有var将a成为全局变量
一个var同时初始化多个变量例如 var a=10,b=20,c=30;
5.数据类型
基本数据类型:undefined Number String Boolean Null
引用数据类型:Object
6.typeof返回值
undefined -------如果这个值未定义、未用var声明
Boolean-------布尔值
String------字符串
number---数字是数值
object-----对象或者null
function------值是函数
7.Boolean的转换
7-1 转换成布尔值的方法
(1) Boolean()
(2)使用非!逻辑运算
7-2 其他数据类型转换成布尔值
true false
字符串 非空字符串 空字符串
数字 非零数字 0和NaN
对象 任何对象 null
undefined
8.Number类型
8-1 进制
八进制 :第一位0 其他(0-7)
十六进制: 前两位0x 后面(0-9和A-F)
8-2 NaN
任何涉及NaN的的操作都返回NaN
NaN与任何值都不相等包括自己
isNaN()函数 确定这个参数是否“不是数值” 例如 isNaN(NaN)//true ; isNaN("blue")//false; isNaN(true)//false
8-3 数值转换规则
Boolean true(1) flase(0)
string 空字符串(0) "十六进制"(十进制数字) "123"(123)
对象 valueOf()返回 Boolean 对象的原始值
var boo = new Boolean(false); document.write(boo.valueOf())
8-4 字符串转换数值的方法
Number()
parseInt() 数值型 字符串转换成数字可以传第二个参数 -- 进制 例如parseInt("0xaf",16)
ParseFloat()
9.字符串
9-1 转换成字符串
String() 传参数 适应所有类型
toString() 方法 适应与除null undefined 注意:数值类型可以传参数转换成响应的进制
10.object
属性和方法
constructor:保存着用于创建当前对象的函数
hasOwnProperty(propertyName):用于检查当前对象的的属性是否在对象的实例中(而不是原型中)
isPrototypeOf(object):检查传入的对象是否是传入对象的原型
toString()
valueOf()
11.操作符
11-1.一元操作符
(1) ++a
a++
例如 :var a=10; alert(++a) //11
var a=10; alert(a++) //10
(2)转换成数值
例如 var a="10" ; +a //10
布尔操作符
(1)逻辑非(!):可以将其他类型转换成布尔 !!a
(2)逻辑与(&&)
true true true
true false false
flase true false
flase flase false
规则:
第一个 对象 返回第二个
有一个null返回null
有一个NaN返回NaN
有一个undefined返回undefined
短路操作
如果第一能决定结果不会对第二操作
例如 var a=flase ; alert(a&&s);//false s未定义但是不会报错
var a=true ; alert(a&&s);//false s未定义但是会报错
(3)逻辑或(||)
true true true
true false true
flase true true
flase flase false
规则
第一个 对象 返回第二个
有一个null返回null
有一个NaN返回NaN
有一个undefined返回undefined
短路操作
12.条件操作
var 变量=(表达式)? true-value : false -value
var max=(num1>num2)?num1:num2
如果num1大于num2 关系式返回true 把num1赋值给max
13.条件语句
if
switch
if和switch的关系
if(i==25){
alert("25")
}else if(i==35){
alert("35")
}else if("45"){
alert("45")
}else{
alert("other")
}
switch(i){
case 25:
alert("25");
break;
case 35:
alert("25");
break;
case 45:
alert("25");
break;
default:
alert("other");
}
14.循环语句
while
var i=10;
while(i<100){
alert(i)
}
for
for(var i=10;i<100;i++){
alert(i)
}
for in遍历对象的属性
var obj={
a:1,
b:2
}
for(var i in obj){
alert(obj[i]) /*i表示对象的属性*/
}
do while
var i=10;
do{
alert(i)
}while(i<100)
15.break和continue和label
label:代码 中添加标签,以便将来使用
var obj={
a:1,
b:2
}
name:for(var i in obj){
alert(obj[i])
break name;
}/*break 语句或者continue语句将来引用*/
break:立刻退出循环强制继续循环后面的语句
var num=0;
for (var i=0;i<10;i++){
if(i%5==0){
break;
}
num++ /*num=4*/
}
continue:退出某次循环,然后循环继续
var num=0;
for (var i=0;i<10;i++){
if(i%5==0){
continue;
}
num++ /*num=8 i=5时跳出*/
}
alert(num)
15.return语句
位于return后面的语句都不会执行
function a(){
if (true)return 10;
alert(10) /*不会弹出*/
}
a()
16.函数参数
arguments类数组包装传入的参数
function count(a,b,c){
alert(arguments.length)
alert(arguments[0])
}
count(14,12,13);//3 14
count(14,12);//2 14
count(14);//1 14
count();//0 undefined
小结
网友评论