• 深入了解JavaScript


    深入了解JavaScript

    函数返回值

    什么是函数的返回值

    • 函数的执行结果

    • 可以没有return

    一个函数应该只返回一种类型的值

    函数传参

    可变参(不定参):arguments

    ​ 参数的个数可变,参数数组

    例子1:求和

    /*arguments 可变参 不定参
    例一:求和*/
    function sum(){
        var result = 0;
    	for(var i=0;i<arguments.length;i++)
    	{
    		result+=arguments[i];
    	}
    	return result;
    }
    			
    alert(sum(1,2,3,4,5,6,7,8))		//返回36
    

    例子2:CSS函数

    /*jQuery中的css函数*/
    css(oDive,'width')			//获取样式
    css(oDiv,'width','200px')	//设置样式
    
    /*CSS函数*/
    function css(){
    				if(arguments.length==2)		//获取/
    				{
    					return arguments[0].style[arguments[1]];
    				}
    				else
    				{
    					arguments[0].style[arguments[1]]=arguments[2];
    				}
    			}
    			
    			window.onload=function()
    			{
    				var oDiv=document.getElementById('div1');
    				//alert(css(oDiv,'width'));			//返回oDiv的宽度
    				css(oDiv,'background','green');		//设置样式
    			}
    

    取非行间样式(不能用来设置)

    ​ obj.currentStyle[attr] (IE可用,FF不兼容)

    ​ getComputedStyle(obj,false)[attr] (Chrome,FF)

    window.onload=function()
    			{
    				var oDiv=document.getElementById('div1');
    				//alert(oDiv.style.width)					//取不到非行间样式
    				//alert(oDiv.currentStyle.width)			//获取非行间样式
        			//alert(getComputedStyle(oDiv,null).width)	//获取非行间样式,第二个参数值随意
        			/*浏览器兼容处理*/
    				if(oDiv.currentStyle)
    				{
    					//IE
    					alert(oDiv.currentStyle.width);
    				}
    				else
    				{
    					//FF
    					alert(getComputedStyle(oDiv,null).width)
    				}
    			}
    

    CSS中存在两种样式:

    ​ 复合样式:background,border

    ​ 单一样式:width,height,position

    数组基础

    数组的使用

    定义

    ​ var arr=[12,5,8,9];

    ​ var arr=new Array(12,5,8,9)

    ​ 没有任何差别,[]的性能略高,应为代码短

    数组的属性

    length

    即可以获取,又可以设置

    例子,快速清空数组(arr.length=0;)

    数组的使用原则:数组中只存一种类型的数据

    添加,删除元素(数组头部及尾部)

    var arr=[1,2,3];
    arr.push(4);		//往数组的尾部添加元素
    arr.pop()			//往数组的尾部弹出元素
    arr.shift();		//从数组的头部弹出元素
    arr.unshift();		//往数组的头部添加元素
    

    插入,删除

    var arr=[1,2,3,4,5,6];
    //删除:splice(起点,长度)
    arr.splice(2,3);			//从数组第三个元素起,删除3个元素
    //插入:splice(起点,长度,元素...)
    arr.splice(2,0,'a','b','c');
    //替换:
    arr.splice(2,2,'a','b');
    

    排序,转换

    /*数组的转换*/
    var a=[1,2,3];
    var b=[4,5,6];
    alert(a.concat(b));			//连接两个数组
    alert(a.join('-'));			//用分隔符,组合数组元素,生成字符串
    
    /*数组的排序*/
    var arr=['float','width','alphe','zoom','left'];
    arr.sort();
    alert(arr);				//输出alphe,float,left,width,zoom,按字母排序
    var b=[3,5,6,2,4,6,7,8];
    b.sort();
    alert(b);				//输出2,3,4,5,6,6,7,8,按照数字排序
    

    带参数使用sort()

    var arr=[12,8,99,19,112];
    arr.sort(function(n1,n2){
    	return n1-n1;
    });
    
  • 相关阅读:
    org.apache.xerces.dom.ElementNSImpl.setUserData(Ljava/lang/String;Ljava/lang
    case when then 中判断null的方法
    Oracle 傻瓜式数据归档
    Object type TYPE failed to create with error
    导出表结构到Excel 生成代码用
    Intellij 高亮显示与选中字符串相同的内容
    自定义命令杀死 java 进程 alias kjava
    R语言包_dplyr_1
    dplyr包
    在天河二号上对比Julia,Python和R语言
  • 原文地址:https://www.cnblogs.com/potatolulu/p/12955246.html
Copyright © 2020-2023  润新知