一、函数

  1. 什么是函数
function show(){}//不带参数
function show(){return 123;}//不带参数,有返回值
function show(arg1, arg2,...){}//可带一个或多个参数
function show(a, b){//带参数,并有返回值
  return a+b;
}

  函数实例:获取元素样式

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
#div1{ width:100px; height:100px; background:red;}
</style>
<script>
//获取元素样式
function getStyle(obj, attr){
    if(obj.currentStyle){
        return obj.currentStyle[attr];
    }else{
        return getComputedStyle(obj, false)[attr];
    }
}

window.onload = function(){
    var oDiv = document.getElementById('div1');

    alert(getStyle(oDiv, 'width'));
    alert(getStyle(oDiv, 'color'));

};
</script>
</head>

<body>
<div id="div1" style="color:#fff">color</div>
</body>
</html>

  2. 函数的参数(不定参,可变参)

//求和
function add(){
    var result = 0;
    for(var i=0;i<arguments.length;i++){
        result += arguments[i];
    }
    return result;
}

alert(add(1,2,3));

二、数组

  1. 数组定义

  var arr = [1, 2, 3, 4, 5];  var arr2 = new Array(1, 2, 3, 4, 5);

  2. 属性:length

  既可以获取数组长度,也可以设置长度,可以用来清空数组,如:var arr = [1, 2, 3, 4, 5];  arr.length = 0;

  数组中应只存一种数据类型

  3. 数组方法:

添加删除:push()从末尾添加, pop()从末尾移除;  unshift()从首位添加, shift()从首位移除;

  4. 排序转换:

var arr = [2, 44, 118, 90, 1, 33, 29];

arr.sort(function(num1, num2){
    return num1-num2;
});

alert(arr);

    数组连接:concat();   arr1.concat(arr2);

    数组join:用分隔符把数组转换成字符串  var arr = [1, 3, 4, 5, 6];  var str = arr.join('-');  //1-3-4-5-6;

    字符串split:用分隔符把字符串拆分成数组  var str = '1-2-3-4-5';  var arr = str.split('-');  //[1,2,3,4,5];

  5. 数组的插入删除(splice)

  splice(index, count, elem1, elem2, ..., elemN);  //开始位置, 长度,

var arr = [2, 44, 118, 90, 1, 33, 29];

//删除
//arr.splice(2, 2);

//插入
//arr.splice(2, 0, 100)

//替换
//arr.splice(2, 1, 99);

alert(arr);

javascript每日一练(二)——javascript(函数,数组)的更多相关文章

  1. JavaScript学习总结(十二)——JavaScript编写类

    在工作中经常用到JavaScript,今天总结一下JavaScript编写类的几种写法以及这几种写法的优缺点,关于JavaScript编写类的方式,在网上看到很多,而且每个人的写法都不太一样,经常看到 ...

  2. JavaScript学习笔记(二)——函数和数组

    第二章 函数简介 1 第一个函数示例 <script language="JavaScript" type="text/JavaScript"> f ...

  3. javascript每日一练(十二)——运动框架

    运动框架 可以实现多物体任意值运动 例子: <!doctype html> <html> <head> <meta charset="utf-8&q ...

  4. javascript每日一练(十)——运动二:缓冲运动

    一.缓冲运动 实现原理:(目标距离-当前距离) / 基数 = 速度(运动距离越大速度越小,运动距离和速度成反比) (500 - oDiv.offsetLeft) / 7 = iSpeed; 需要注意: ...

  5. javascript每日一练(七)——事件二:键盘事件

    一.键盘事件 onkeydown触发, keyCode键盘编码 ctrlKey altKey shiftKey 键盘控制div移动 <!doctype html> <html> ...

  6. javascript每日一练(四)——DOM二

    一.DOM的创建,插入,删除 createElement(标签名) appendChild(节点) insertBefore(节点,原有节点) removeChild(节点) <!doctype ...

  7. javascript每日一练(一)——javascript基础

    一.javascript的组成 ECMAScript DOM BOM 二.变量类型 常见类型有:number, string, boolean, undefined, object, function ...

  8. Javascript异步编程之二回调函数

    上一节讲异步原理的时候基本上把回掉函数也捎带讲了一些,这节主要举几个例子来具体化一下.在开始之前,首先要明白一件事,在javascript里函数可以作为参数进行传递,这里涉及到高阶函数的概念,大家可以 ...

  9. javascript 学习总结(二)Array数组

    1.数组常用方法 var colors = ["red", "blue", "green"]; //creates an array wit ...

随机推荐

  1. leetcode 15. 3Sum 双指针

    题目链接 给n个数, 找出三个数相加结果为0的所有的组, 不可重复. 用双指针的思想,O(n^2)暴力的找, 注意判重复. class Solution { public: vector<vec ...

  2. 如何正确地在手机上显示图片——QImage与QPixmap完全解析

    引言 用Qt程序在手机上显示一幅图片对编程人员来说是再基础不过的一件事情了.那么先让大家看两段代码: //dangerous should not be used, cannot display ea ...

  3. android listview需要呈现多个布局

    android listview需要呈现多个布局 之前的做法很笨 在getView()方法里面,不仅将viewHolder作为tag属性设置给convertView 还将当前的position作为ta ...

  4. cocos2d-x游戏开发系列教程-超级玛丽08-消息机制

    在超级玛丽游戏里,地图类CMGameMap负责所有的程序逻辑,它包含了背景地图,包含了游戏元素精灵,当游戏中的精灵之间发生碰撞时,比如马里奥撞上砖头这种事情发生时,马里奥对象本身不知道怎么处理这个逻辑 ...

  5. HDU p1294 Rooted Trees Problem 解题报告

    http://www.cnblogs.com/keam37/p/3639294.html keam所有 转载请注明出处 Problem Description Give you two definit ...

  6. 用JLabel显示时间-- JAVA初学者遇到的一个困难

    问题:用一个JLabe,显示秒数,每过一秒数字自动减少1 问题看似很简单,但对初学JAVA的我来说,还真费了一点劲. 首先是如何即时,可以采用线程的方法: try { Thread.sleep(100 ...

  7. codility上的练习 (1)

    codility上面添加了教程.目前只有lesson 1,讲复杂度的……里面有几个题, 目前感觉题库的题简单. tasks: Frog-Jmp: 一只青蛙,要从X跳到Y或者大于等于Y的地方,每次跳的距 ...

  8. Android开发之TextView排版问题

    下面直接是关于解决该问题的代码(根据别人的代码进行了修正以及测试,保证可以修改字体尺寸.颜色.根据padding调整,如果需要支持其他的格式可以将对应的属性添加至Paint类型的对象中):   1 p ...

  9. stm32基础入门

    1.开发工具,初学者建议MDK,后期ivr 2.寄存器开发or库 版本开发:先寄存器开发,后期两者结合: 3.软件仿真or开发板,先软件仿真,后期两者结合: 建立工程: 1.包含三部分:start.u ...

  10. ASP.NET事务存储过程

    --修改存储过程 alter proc proc_get_student as select * from student; asp.net 的事务就是针对数据层来处理的呀! 没有数据处理不能使用事务 ...