1.函数传参                          

可变参(不定参):arguments
参数的个数可变,参数数组
 
例1.求和
求所有参数的和
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script>
function sum()
{
//alert(arguments.length);
//alert(arguments[0]);
//arguments var result=0; for(var i=0;i<arguments.length;i++)
{
result+=arguments[i];
} return result;
} alert(sum(12, 6, 8, 6, 8, 6, 8, 6, 8, 6, 8, 6, 8, 6, 8, 6, 8, 6, 8, 6));
</script>
</head> <body>
</body>
</html>
 
例子2:CSS函数
判断arguments.length
给参数取名,增强可读性
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<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'); alert(css(oDiv, 'width')); //css(oDiv, 'background', 'green');
};
</script>
</head> <body>
<div id="div1" style="width:200px; height:200px; background:red;">
</div>
</body>
</html>

2.取非行间样式:

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

obj.currentStyle[attr]        //IE
getComputedStyle(obj, false)[attr]  //chrome / FF
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
#div1 {width:200px; height:200px; background:red;}
</style>
<script>
function getStyle(obj, name)
{
if(obj.currentStyle) //IE
{
return obj.currentStyle[name];
}
else //chrome / FF
{
return getComputedStyle(obj, false)[name];
}
} window.onload=function ()
{
var oDiv=document.getElementById('div1'); alert(getStyle(oDiv, 'backgroundColor'));
};
</script>
</head> <body>
<div id="div1">
</div>
</body>
</html>

但是要注意上面getStyle()存在的问题,这个只能取单一样式,如果要取复合样式,如上面的background,要使用'backgroundColor'

3.数组基础                                

1)添加、删除元素

 添加

  • push(元素),从尾部添加
  • unshift(元素),从头部添加
删除
  • pop(),从尾部弹出
  • shift(),从头部弹出

2)插入、删除

splice

splice(开始, 长度,元素…)
先删除,后插入
  • 删除
    splice(开始,长度)
  • 插入
    splice(开始, 0, 元素…)
  • 替换
<script>
var arr=[1,2,3,4,5,6]; //删除:splice(起点, 长度)
//arr.splice(2, 3); //插入:splice(起点, 长度, 元素...);
//arr.splice(2, 0, 'a', 'b', 'c'); arr.splice(2, 2, 'a', 'b'); alert(arr);
</script>

3)排序、转换

排序
  • sort([比较函数]),排序一个数组
    排序一个字符串数组
    排序一个数字数组
转换类
  • concat(数组2)
    连接两个数组
  • join(分隔符)
    用分隔符,组合数组元素,生成字符串
    字符串split
<script>
var arr=['float', 'width', 'alpha', 'zoom', 'left']; arr.sort(); alert(arr);
</script>
<script>
var arr=[12, 8, 99, 19, 112]; arr.sort(function (n1, n2){
return n1-n2;
/*if(n1<n2)
{
return -1;
}
else if(n1>n2)
{
return 1;
}
else
{
return 0;
}*/
}); alert(arr);
</script>

4.

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
----------

学习blus老师js(2)--深入JavaScript的更多相关文章

  1. 学习blus老师js(5)--DOM操作应用高级

    一.表格应用 - 1 获取 tBodies.tHead.tFoot.rows.cells 一个表格可以有很多tbody,所以tBodies是数组: 一个表格只能有一个thead和tfoot,所以tHe ...

  2. 学习blus老师js(4)--DOM

    一.DOM节点 1.获取子节点: childNodes  nodeType         节点类型 children            只包括元素,不包括文本:  子节点只算第一层.只算孩子一级 ...

  3. 学习blus老师js(3)--定时器的使用

    1.无缝滚动——基础 物体运动基础 让Div移动起来 offsetLeft的作用 用定时器让物体连续移动   offsetLeft: 获取物体的左边距:最大的优点在于可以综合考虑所有影响这个物体位置的 ...

  4. 学习blus老师js(1)--基础

    1.网页换肤: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <t ...

  5. 学习blus老师js(6)--js运动基础

    运动基础 一.匀速运动 运动框架 在开始运动时,关闭已有定时器 把运动和停止隔开(if/else) <!DOCTYPE HTML> <html> <head> &l ...

  6. Javascript学习记录——原生JS实现旋转木马特效

    昨天学习到了JS特效部分,然后老师讲了旋转木马特效的实现,如上图.不过只是讲了通过点击箭头实现图片的切换,对于点击图片本身以及二者联动却是没有讲解. 本着一颗追求完美的心,今天花费了一个中午终于将整个 ...

  7. ASP.NET Boilerplate 学习 AspNet Core2 浏览器缓存使用 c#基础,单线程,跨线程访问和线程带参数 wpf 禁用启用webbroswer右键菜单 EF Core 2.0使用MsSql/MySql实现DB First和Code First ASP.NET Core部署到Windows IIS QRCode.js:使用 JavaScript 生成

    ASP.NET Boilerplate 学习   1.在http://www.aspnetboilerplate.com/Templates 网站下载ABP模版 2.解压后打开解决方案,解决方案目录: ...

  8. 学习笔记 第十五章 JavaScript基础

    第15章   JavaScript基础 [学习重点] 了解JavaScript基础知识 熟悉常量和变量 能够使用表达式和运算符 正确使用语句 能够掌握数据类型和转换的基本方法 正确使用函数.对象.数组 ...

  9. 学习笔记——node.js

    node.js的作用在于,号称可以让服务器支持更多的连接.比如说,php + apche可以让服务器支持4000个并发连接,那么node.js + apche可以让服务器支持并发几万个. 为什么这么牛 ...

随机推荐

  1. 【大型web架构】一个大型web系统架构设计和技术选型的讨论摘录

    1.数据库压力问题 所有的压力最终都会反映到数据库方面,一定要对数据库有一个整体的规划. 可以按照业务.区域等等特性对数据库进行配置,可以考虑分库.使用rac.分区.分表等等策略,确保数据库能正常的进 ...

  2. BZOJ 3930 【CQOI2015】 选数

    题目链接:选数 这种SB题我都Wa飞了,彻底没救系列- 首先,我们可以发现1,如果我们选了两个不同的数,那么它们的\(\gcd\)不会超过\(r-l+1\).于是,我们可以设一个\(f_i\)表示任取 ...

  3. Python XML解析和处理

    movies.xml <collection shelf = "New Arrivals"> <movie title = "Enemy Behind& ...

  4. lua劈分字符串方法及实例

    由于工作项目需要,最近需要用lua来写一些脚本.然而lua并不想java那样有很多的好用的api,很多方法得我们自己来编写和封装,就比如今天碰到的劈分字符串,查找资料后只能自己写了一个. 代码如下 - ...

  5. H5 canvas建造敌人坦克

      接着上一篇(http://www.cnblogs.com/zhouhuan/p/H5_tankgame3.html),这一篇建造敌人的坦克. 思路是,基于可扩展性和性能等方面的考虑,用构造函数改造 ...

  6. D3.js学习笔记(六)——SVG基础图形和D3.js

    目标 在这一章,我们将会重温SVG图形,学习如何使用D3.js来创建这些图形. 这里会包括前面例子中的SVG基础图形以及如何使用D3.js设置图形的属性. 使用D3.js画一个SVG 的 圆 circ ...

  7. npm安装vue详细教程(图片详解)

    npm安装vue详细教程(图片详解) 一.总结 一句话总结:整个安装流程照着教程来,注意系统环境变量的配置,注意一下npm的本地仓库和缓存位置 教程 系统环境变量 仓库 缓存 1.什么情况下最适合用n ...

  8. 微信分享签名Java代码实现

    最近写了一个小微信签名功能,记录一下希望用到的朋友可以参考下. RestController @RequestMapping("/api/wx") public class Wei ...

  9. 个人知识管理系统Version1.0开发记录(09)

    MyBatis初试 MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.   运用Mybatis框 ...

  10. hdu 3695 10 福州 现场 F - Computer Virus on Planet Pandora 暴力 ac自动机 难度:1

    F - Computer Virus on Planet Pandora Time Limit:2000MS     Memory Limit:128000KB     64bit IO Format ...