javascript基础

来源:互联网 发布:javascript .tagname 编辑:程序博客网 时间:2024/06/03 21:35

1、JAVASCRIPT的组成

DOM  :文档简单来说就是HTML,DOM赋予操作HTML的能力;有一些操作不兼容

BOM: 浏览器对象模型,浏览器对象是window;没有兼容问题

ECMA: 几乎没有兼容性问题

2.常见类型:

基础类型:number、function、object、boolean、string、

其他类型:undefined (1、真的没定义;2、定义,但为给赋值;)

NAN  非数字类型

3、字符串转数字

parseInt(),从左向右解析,非数字时跳出返回数字,

显示类型转换(强制类型转换):

parseInt()用来转换整数,

parseFloat()用来转换成小数,

隐示类型转换:

==和===

减法

isNAN()可以判断出来变量是不是NAN,用来判断输入数字时候判断

4、变量的作用域和闭包

闭包:子函数可以使用父函数的局部变量

5、命名规范

a、类型前缀,命名规范表如下:仅用于变量命名
javascript 变量命名类型变量命名前缀array 数组aboolean 布尔值bfloat 浮点数lfunction 函数fnint 整型iobject 对象oregular 正则rstring 字符串s
b、首字母大写,

6、运算符

a、算术: %取模,就是求余数,
取模的应用:

1、各行变色,

思路:用for循环,根据索引值取模来确定变色行数的背景,
for(var i=0;i<ali.length;i++){               if(i%2 == 0) {                   代码块               }else {                   代码块               }            }

2、秒转时间

var s = 156;var m= parseInt(s/60)+'分'var ms = (156%60)+'秒'


b、赋值: +=和++相同,只能每次加一
c、逻辑:&&与,||或,!否

7、流程控制

a、判断:if 、switch ,?:
当判断条件较多时,使用switch,语法如下:
switch(变量){
case 值1:
break;
case 值2:
break;
default:
语句N
}
三目运算符:(条件)?语句1:语句2
b、跳出:break和countinue
break中断整个循环,
continue是中断符合条件的循环

c、真假问题
真:true、非零数字、非空字符,非空对象
假:false、数字零、空字符串、空对象、undefined


8、json

json和数组的关系与区别:

a、json的下标是字符串,数组的下标是数字
b、数组有长度,json无长度
c、循环
for ..in适合数组和json

9、函数返回值

函数返回值即函数执行的结果,可以没有return

10、函数传参

arguments 可变参或不定参,参数的个数可变,参数数组

a、求所有参数的和:
function sum(){       var result=0;       for(var i=0;i<arguments.length;i++){           result+=arguments[i]        }            return result}alert(sum(12,6,8,20,25))
b、css函数,给参数去名字,增强可读性
function css(object,name,value){            if(arguments.length == 2) {                //return arguments[0].style[arguments[1]]    //两个参数时候是获取参数                return object.style[name]            }else {               // arguments[0].style[arguments[1]]=arguments[2]  //三个参数时候是设置参数                object.style[name]=value            }        }

c、取非行间样式
使用currentStyle来获取,但不兼容其他浏览器,仅限于iE
chrome,FF则使用getComputedStyle来获取,两个参数,
对于以上两种获取非行间样式的兼容性问题,用真假值解决:
function getStyle(object,name) {            if(object.currentStyle) {                //ie                return object.currentStyle[name]            }else {                //chrome,FF                return getComputedStyle(oDiv,false)[name]            }        }
只能取出来单一样式,复合样式需要改写为单一样式。

11、数组的增删改查

增加:array.push()尾部添加
array.unshift()从头部添加
删除:array.pop()尾部删除
array.shift()从头部删除
splice用法:
a、删除:splice(起点,长度) 从起点开始删除长度的个数
b、插入:splice(起点,长度,元素) 从起点开始删除长度的个数,然后插入元素

join(分隔符):用分隔符,组成数组元素,生成字符串,字符串分割用split

sort()排序:
容易引起字符串排序,此时需要用比较函数进行比较,
array.sort(function(n1,n2){            return n1-n2            /*if(n1<n2){                return -1;            }else if(n1>n2) {                return 1            }else {                return 0            }*/        })


12、定时器

setInterval(回调函数,时间)无限制性,间隔型
setTimeout(回调函数,时间)只执行一次,延时型

获取系统时间:
a、 data对象
b、getHours、getMinutes、getSeconds
c、getFullYear(),getMonth(),getDate(),getDay()

13、运动基础

a、offsetLeft获取物体的左边距,计算出来后得出的结论,此属性为只可读属性,不能进行赋值。
b、offsetTop获取物体的上边距


原创粉丝点击