码迷,mamicode.com
首页 > Web开发 > 详细

对 JS 进一步认识:

时间:2015-05-22 23:47:14      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:

(function(){

alert(1);
})()
函数自执行 闭包;
 
 window.onload=function(){
       var oDiv=document.getElementById(‘div1‘);
       var aDiv=oDiv.getElementsByTagName(‘div‘);
       var aInput=oDiv.getElementsByTagName(‘input‘);
       for(var i=0;i<aInput.length;i++){
          (function(index){
               aInput[i].onclick=function(){
               for(var i=0;i<aInput.length;i++){
                    aDiv[i].style.display=‘none‘;
                    aInput[i].className=‘‘;
                    }
               this.className=‘active‘;
               aDiv[index].style.display=‘block‘
               } 
          })(i)
            }
        }
 
选项卡 封闭空间案例  函数自执行  舍弃 索引值  最完美方案
 
 
好处: 省了一个函数名
作用:1避免变量冲突
          2解决问题,索引值
 i的问题:
1事件里面的i 不能重用
2 定时器里面的i;
封闭空间核心  函数每执行一次都是复制一份包括里面的参数
 
---------------------------------------------------------------------------------------------
非行间样式
非行间样式只读不能修改
 
-----------------------------------
 
关于设置样式
cssText : 以文本的形式设置样式。
既能读取 行间样式,也能设置
with()  没用 ; 乱
设置样式:
1 class
2 obj.style[name]=value;
 
-------------------------------------------------------------------------------------------
字符串 
str.charAt() 没找到 就是一个空  参数(索引值)
length;
indexof(); 
str.indexof(); 找东西 返回值是索引下标; 没找到返回值是-1;
lastIndexof(); 从后往前找 索引 找的方向不一样 返回的索引还是一样的 没找到也是-1
substring () 截取字符串  (开始位置  ,  结束位置 ) 不包括最后一位
如果不写后面一个参数  就是从第一个位置到最后 全部截取;
split(); 切分   切分字符串  (切得规则)  返回一个数组 
 
大小写 :
toUpperCase(); 大写
toLowerCase(); 小写   str.toLowerCase(); 格式 
 
字符串比较:
 
字典比较
1英文比较  字典序
2数字比较  最小0 最大9 (只比较第一位)
3中文比较  中文没有可比性   比较的是计算机内测编码
 
-----------------------------------------------------
判断浏览器类型
 
userAgent ----用户代
 
window.navigator.userAgent //检测浏览器版
 
数组:
 
var arr=[] ; 推荐  性能高
var arr=new Array(8)    \\全写 如果只有一个参数代表 数组长度是8
 
arr.length; 
arr.push(); 数据保存在数组的最后一位
 
arr.pop();  删除数组的最后一位数据  会返回删除的数据 
 
arr.unshift(); 数据保存数组的第一位
 
arr.shift();删除数组的第一位数据  会返回删除的数据
 
万能的方法 :添加  删除 修改
arr.splice(); 非常重要  (起始位置,删除的个数,元素1,元素2,元素3,...) 
 
删除:
arr.splice(beginIndex,N)
 
添加:
 
arr.splice(beginIndex,0,元素1.......)
 
修改:
arr.splice(beginIndex,N,元素1.......)
 
注意:splice 先删除 后添加;
 
reverse() 数组翻转   1,2,3,4,5 变成 5,4,3,2,1  
 
数组链接:
var ar3=arr1.concat(arr2);  返回的是一个新数组 相连 可以传多个参数  可以传一个字符串会做隐士类型转换;
 
join();  (链接的一个规则) 返回一个字符串 
 
字符串转数组  split;
数组转字符串  join;
 
length 数组的length可以修改 也可以获取
 
删除组数 
1  length=0;
2  pop()/shift(); 用whil 循环
3 splic(0,arr.length)
 
arr.sort(); (比较函数)  
 
function(n1,n2){
   return   n1-n2;
}  
 
-----------------------------------------------------------------------------------------------
 
argunments :数组  存参数的   (实参) 只有函数才有 
 
function show(a,b){  // 形式参数  与arguments 的值 没关系 
    alert(arguments.length)
}
arguments.callee();   // 递归
----------------------------------------------------------------------------------------------
 
json :  只能用 for in 不能用for循环
 
arr 和json 区别: 
             arr                        |         json
                                         |
1          length                    |       没有length
2   下标属性是数字索引        |     下标 是字符串
3       有2个循环for for in    |       只有 for in 
4      数组是有序的              |           无序
 

对 JS 进一步认识:

标签:

原文地址:http://www.cnblogs.com/yizhongxiguan/p/4523356.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!