js基础

Javascript基础

Document

在IE7下document.childNodes[0].tagName=!

在IE7下document.childNodes[1].tagName=HTML

 

ECMAScript:翻译     核心     解释器

 

DOM    DocumentObject Model   HTML      document            

                  操作HTML的能力

 

创建DOM元素

         creatElement  创建一个节点

         appendChild    追加一个节点

appendChild

//1.先把元素从原语的父级上删除                                         

 //2.添加到新的父级

var oLi=document.createElement('li');

oLi.innerHTML="asd";

//在父级末尾添加oLi子节点

oUl.appendChild(oLi);

父级.appendChild(子节点);

插入元素

         insertBefore    在已有元素前插入

父级.insertBefore(子节点,在谁之前);

 

删除DOM元素

         removeChild   删除一个节点      

 

BOM  Browser ObjectModel                浏览器         window

兼容性

ECMA               几乎没有兼容性问题

DOM                 有一些操作不兼容

BOM                 没有兼容问题(完全不兼容)

 

类型typeof

         vara=12;      //number类型

       a='asdasd';   //string

       a=true;        //boolean

       a=function(){}   //function类型

       a=document;      //object

                  varb      //undefined

       alert(typeof a) ;

 

NaN Not a number//不是数字

 

NaN和NaN不相等

 

isNaN(a)判断是不是一个非数字。

 

paeseFloat

 

==先转换类型再比较  

===不转换类型直接比较

 

加号 

1.     字符串连接

2.     数字相加

减法

1.     只有数字相减,在js中可以隐式类型转换

作用域

全局变量和局部变量

闭包

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

命名规范

 

运算符

==   ===           !=         !==

 

三目运输符  ?:

Break中断整个循环

Continue跳过本次循环

真:true、非零数字、非空字符串、非空对象

假:false、零数字、空字符串、空对象、undefined

 

josn

var json={a:12,b:5,c:7};

json[‘a’]或者json.a

json没有length属性

对于数组可以用

For(var i=0;i<arr.length;i++)和for(var i inarr)两种方法

对于json用

for(var i in json)

json的下标是被定义的。

数组

定义:var arr=[12,2,3,4,6]

         vararr = new Array(12,23,4,5,6)

没有差别,[]的性能略高,因为代码短

数组的length属性既可获取也可设置。

arr.push(7)//在数组尾部添加

arr.pop();//在数组尾部删除

arr.shift();//在数组头部删除

arr.unshift();//在数组头部添加

删除:splice(起点,长度),从起点删除指定长度的元素arr.splice(2,3);

插入:splice(起点,长度,元素)arr.splice(2,0,’w’,’c’,’t’);

替换:arr.splice(2,2,’a’,’b’);

数组连接:arrb.concat(arra);

数组拼接 arr.join(‘-‘);

var arra=[7,8,9];

alert(arra.join('--'));//输出7--8--8

alert(arra.join('--').length);//输出7

数组排序: sort();只认识字符串

**数组排序问题:vararr=[12,8,99,19,112]

arr.sort();//结果为[112,12,19,8,99]把数字当做字符串处理了。

解决数值排序办法arr.sort(function (n1,n2) {return n1-n2; });

可变参  不定参arguments    

<script>

       function sum()

       {

           var result=0;

           for(var i=0;i<arguments.length;i++)

           {

                result+=arguments[i];

           }

           return result;

 

       }

       alert(sum(12,11,13))

</script>

 

 <script>

       function css(obj,name,value)

       {

           if(arguments.length==2)

           {

                return obj.style[name];

           }

           else

           {

                obj.style[name]=value;

           }

 

       }

       window.onload=function()

       {

           var oDiv=document.getElementById('div1');

           css(oDiv,'background','green');

       }

   </script>

Jquery存在的函数css

css(oDiv,’width’)获取样式

css(oDiv,’width’,’200px’)设置样式

 

获取非行间样式

obj.currentStyle[name];

getComputedStyle(obj,false)[name];

复合样式

复合样式:background       border

单一演示:width  height      position

 

定时器

开启定时器

         setInterval       间隔性

         setTimeout      延时性

停止定时器

         clearInterval

         clearTimeout

 

Date对象

getFullYear()年

getMonth()月(从0月开始0~11)

getDate()几号

getDay星期几(从星期0(周日)开始到星期6)

 

系统对象

1.     本地对象(非静态对象)

a)      常用对象

                    i.           Object 、Function、Array、String、Boolean、Number、Date、RegExp、Error

2.     内置对象(静态对象)

a)      Global、Math

3.     宿主对象(由浏览器提供的对象)js运行环境

a)      DOM、BOM

你可能感兴趣的:(js基础)