JavaScript基础
来源:互联网 发布:淘宝大表情 编辑:程序博客网 时间:2024/06/05 12:00
函数返回值、函数传参、数组基础
- 函数返回值
function show(){ return 'asdf'; } var a = show(); alert(a);
alert(a)与alert(show())的结果相同
将字符串asdf返回到show()函数中,同数字
function show(a,b){ return a+b; }; alert(show(3,5));
若return后年没有值或函数中没有return,就相当于underfined没有定义
一个函数应该只有一个返回值(除json)
- 函数传参(arguments)
function sum(){ var result = 0; for (var i = 0; i < arguments.length; i++) { result += arguments[i]; } return result;}alert(sum(11,45,1,2,6,8,6,2,6,6,2,5,9,6,9));
argument相当于一个数组,无论sum()函数中有多少元素,都能计算出结果
css(oDiv,’width’) 获取样式
css(oDiv,’width’,’200px’) 设置样式
传统方式:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title><script type="text/javascript"> 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')); css(oDiv,'background','blue'); }</script></head><body> <div id="div1" style="width:200px;height:200px;background:red;"></div></body></html>
升级版:
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'); //alert(css(oDiv,'width')); css(oDiv,'background','blue'); }
获取非行间样式
<script type="text/javascript"> window.onload = function(){ var oDiv = document.getElementById('div1'); alert(oDiv.currentStyle.width); }</script>
alert(oDiv.currentStyle.width);
可以获得非行间行间的样式,但是不兼容,只能在高版IE下运行
在火狐、Chrome下可以使用alert(getComputedStyle(oDiv,null).width);
兼容方法:
if (oDiv.currentStyle) { alert(oDiv.currentStyle.width); }else{ alert(getComputedStyle(oDiv,null).width); }
由此可以解决兼容性问题!
为了更快地编写代码,我们可以将其分装成函数:
function getStyle(obj, name){ if (obj.currentStyle) { return obj.currentStyle[name]; }else{ return getComputedStyle(obj,null)[name]; } }
只能获取单一样式:width、height等
不能获取复合样式:background、border等(可使用backgroundColor等)
- 数组基础
数组定义方法:
1、var a = [1,2,3];
2、var a = new Array(1,2,3);
两种方法相同
length不仅可以获取,也可以设置
例如原数组有10个元素,alert(XXX.length)天出结果为10;若果设置XXX.length=7,则数组会清空之后的元素
一个数组里面只有一个类型
在数组中加入元素:XXX.push(元素)
在数组最后加入元素XXX.unshift(元素)
在数组头部加入元素
在数组中删除元素:XXX.pop()
在数组最后删除元素XXX.shift()
在数组头部删除元素
splice
删除元素:splice(起点,长度)——数组中的下标为起点
插入元素:splice(起点,长度,元素)——数组中的下标为起点
var arr = [1,2,3,4,5,6]; arr.splice(2,3); alert(arr);
弹出结果为1,2,6
arr.splice(2,0)表示数组不发生变化;arr.splice(2,0,’a’,’b’);弹出结果为1,2,a,b,3,4,5,6,从下标位置为2的地方插入a,b两个元素;arr.splice(2,2,’a’,’b’);弹出结果为1,2,a,b,5,6
contact
字符串的连接
var a = [1,2,3]; var b = [4,5,6]; alert(a.concat(b));
弹出结果为1,2,3,4,5,6
若将alert(a.concat(b))改为alert(b.concat(a))
弹出结果为4,5,6,1,2,3
join
数组元素间的分隔符
var a = [1,2,3]; alert(a.join('-'));
弹出结果为1-2-3
sort
排序数组
字符串排列:
var a = ['float','width','height','top','zoom','left'];a.sort();alert(a);
输出结果按照字母排列顺序排列
数字排列:
var b = [8,45,12,16,21,79,112]; b.sort(function (n1,n2){ if (n1<n2) { return -1; }else if(n1>n2) { return 1; }else { return 0; } }); alert(b);
能能出正确的数字排列
sort只能对字符串进行排列;对数字排列需要加入函数
也可以写成
b.sort(function (n1,n2){
if (n1<n2) {
return -1;
}else if(n1>n2) {
return 1;
}else {
return 0;
}
}); b.sort(function (n1,n2){return n1-n2;}
- javaScript基础
- JAVASCRIPT 基础
- JavaScript基础
- JAVASCRIPT基础
- JavaScript 基础
- javascript基础
- javascript基础
- JavaScript 基础
- JavaScript基础
- javascript基础
- JavaScript基础
- javascript基础
- javascript基础
- Javascript基础
- JavaScript基础
- JavaScript基础
- javascript基础
- javascript基础
- win8 win10 安装msi 提示2502、2503的错误代码
- FADT.sci_interrupt 的产生
- 网页微信扫码支付
- Linux环境下搭建php开发环境的操作步骤
- 行为型模式--策略模式
- JavaScript基础
- linux 中动态库和静态库的创建和使用
- Node.js模块与npm item1—Node.js模块系统
- vue 混合 进阶
- 基础概念7
- [Bootstrap]从入门到实战_客户案例详情页开发(三)
- android Activity四种启动模式
- ToggleButton
- 最近看了下js 面向对象函数问题感觉蛮实用的分享一下