JS学习笔记01

2018 / 5 / 3

 

Js数据类型:Undefined Null Boolean Number StringObject

使用typeof:UndefinedObject Boolean Number StringObject

NaN => not aNumber 用isNaN() 判断

Js函数没有重载,其参数传递为数组,可通过argument来访问,修改数组的值会影响对应参数的值

 

Js函数的参数只能按值传递

Js 函数中可使用   arguements数组  来获取传入参数

A   Instanceof   B:A是否为B(A、B为Object)

-------------------------------------

2018 / 5 / 4

 

引用类型

1.Object

创建方法:(1)var Person = new Object(  );

                                 Person.name = ‘jack’;

                                 Person.age =15;   

                      (2)person={

                                          name :‘jack’,

                  age:15;

                       }

2.Array

创建方法:(1)var colors = new Array( );

                                 var colors =new Array("red", "blue", "green");              

                                 var colors =new Array(3); // 创建一个包含 3 项的数组

                                 var names = newArray("Greg"); // 创建一个包含 1 项,即字符串"Greg"的数组                            

                      (2)var colors = ["red","blue", "green"]; // 创建一个包含 3 个字符串的数组

                                 var names = [];// 创建一个空数组

 

-------------------------------------

2018 / 5 / 11

 

1.数组常用方法:

1.连接concat();

例子: var a=[1,2,3];   var b=[‘a’,’b’,’c’];  var c=a.concat(b);

C为[1,2,3, ‘a’,’b’,’c’]

2.插入

push();从数组末尾插入

unshift();从数组前面插入

3.删除

pop();从数组末尾删除

shift();从数组前面删除

4.删除/替换/插入

splice( 要操作的数组下标,删除个数,要插入的元素1,要插入的元素2,……)

(1)从下标m开始(包括该下标)删除n个元素(n=1时删除下标为m的元素)

splice(m,n);

  (2)从下标m开始插入n个元素

splice(m,0,元素1,……);

(3)替换下标为m的元素

                   splice(m,1,元素1,……);

5. 排序sort()

默认为按字符排序,

可传入判断函数

function(a,b){

               a在b前返回  负数

               a在b后返回  正数

               相等返回       0

}

6.  join()方法

将数组变为字符串  例如:var a=[‘a’,’b’,’c’]   a.join(‘-’)   得到=> ‘a-b-c’

7.lenght属性

数组长度,可设置,设置为0时则清空数组

 

-----------------------------------------------------------------------------------------------------------------------------

2.Json;

var  person ={

                        key:values

                        ‘name’:jim,

                        ‘age’:16

}

for( key inperson){   //遍历json对象

                        person[key];

}

-----------------------------------------------------------------------------------------------------------------------------

3.获取外部样式

通过getComputedStylecurrentStyle来获取样式

1getComputedStyle的使用环境是chrome/safari/firefox IE 9,10,11

<script>

  vardiv =document.getElementsByTagName("div")[0];

  varstyleObj = window.getComputedStyle(div,null);

  console.log(styleObj.backgroundColor);//red

  console.log(styleObj.color);//yellow

</script>

2currentStyleIE里能得到完美支持,chrome不支持,ff不支持

<script>

    vardiv =document.getElementsByTagName("div")[0];

    varstyleObj = div.currentStyle;

    console.log(styleObj.backgroundColor);//red

    console.log(styleObj.color);//yellow

</script>

兼容问题通过if()判断后来确定执行的代码;

例如:if(obj. currentStyle){  

                        currentStyle代码体……

               }else{

                        getComputedStyle代码体……

               }

-------------------------------------

2018 / 5 / 12

计时器(可用于无缝滚动)

开启:var timer = setInterval(函数,间隔时间)

关闭:clearIntervaltimer;

开启单次:var timer =setTimeout(函数,间隔时间);

关闭单次:clearTimeout (timer );

 

无缝滚动:注意设置位置权限:

relative相对于本身移动(放在外层与absolute<内层>连用)

absolute相对于上一个可定位的元素移动

offsetLeft  获取计算后的左边距

offsetWidth获取元素宽度

例子:

functionmove(){

                                     if(oUl.offsetLeft<-oUl.offsetWidth/2){//左滚动判断

                                               oUl.style.left= 0;

                                     }

                                     if(oUl.offsetLeft>0){//右滚动判断

                                               oUl.style.left= -oUl.offsetWidth/2;+'px'

                                     }

                                     oUl.style.left= oUl.offsetLeft+speed+'px';

                            }

-------------------------------------

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值