js基础

ECMAScript:翻译的作用     js的核心,也称为解释器,只提供基本功能,加减乘除和函数等,几乎没有兼容性问题
DOM:Document Object Model ,实质上就是赋予js操作HTML的能力,操作HTML的入口。在js中就是document ,有一些操作不兼容
BOM:Browser Object Model   浏览器  window,没有兼容问题(完全不兼容)
 
 
 
变量类型(typeof来检测数据类型)
number string boolean undefined object function
一个变量应该只存放一种数据的类型
 
 
数据类型转换:
1、显式类型转换:
parseInt():只读取数字,遇到非数字的直接跳出,如果没有数字,会弹出NaN: Not a number.
数字加上NaN,得到的是NaN。NaN和NaN是不相等的。所以如果为了判断是不是NaN,可以借用函数isNaN()。
转换为整数,直接将小数点后的舍去。
parseFloat():处理具有小数点的,不清楚是整数和小数的情况下,可以使用parseFloat。
2、隐式类型转换:==和减法
 
var a=5;
var b='5';
alert(a==b);//true  先转换类型,然后比较
alert(a===b);//false 不转换类型,直接比
变量作用域:局部变量和全局变量
闭包:子函数可以使用父函数的局部变量
 
 
命名规范:
可读性---能看懂
规范性---符合规则
匈牙利命名法:
类型前缀,只适用于给变量去名字时
首字母大写
数组:array--------a   例:aItem
布尔值:Boolean---------b
浮点数:float----------f
函数function--------fn
整数integer---------i
对象object---------o 例:oDivUserLogin
正则表达式RegExp----------re
字符串string--------s
变体变量variant---------v

运算符
算术:+—*/%
赋值:=、+=、-=...
关系:>、<、>=...
逻辑:与或非&&、||、!
运算符优先级:()
 
程序流程控制:
判断:1、if(条件){语句}else{语句},
2、switch(变量){
case1:语句1;
          break;
case2:语句2;
          break;
case3:语句3;
          break;
default:语句;
}
3、三目运算符:条件?语句1:语句2
===================================
 
循环:while、for
var arr=[1,2,3] ;
for(var i=0;i<arr.length;i++){
alert('第'+i+'个东西:'+arr[i]);
}
for(var i in arr)
{
alert('第'+i+'个东西:'+arr[i]);
}适用于数组也适用于Json
数组:for 0-length
Json:for in

跳出:break:中断整个循环、continue:中断本次循环
什么是真、什么是假:
真:true、非零数字、非空字符串(空格是真的)、非空对象
假:false、数字0、空字符串、空对象、undefined

Json:存储数据的地方
数组和Json的区别:Json的下标是字符串,没有length,循环
数组的下标是数字,有length

函数返回值:函数的执行结果,可以没有return,一个函数尽量只有一种类型返回值
函数传参:
可变参/不定参(arguments):数组,存了所有的参数,参数的个数可变
css(oDiv,'width')获取样式
css(oDiv,'width',‘200px’)设置样式
currentStyle获取非行间样式
getComputedStyle(oDiv,false).width:其中第二个参数可以为任意值,这里用false
复合样式:background、border....可只用一部分取样式,例:backgroundColor
单一样式:width、height、position...

posted on 2017-03-07 16:11  想要逆袭的学渣  阅读(134)  评论(0编辑  收藏  举报

导航