一、函数返回值
1.什么是函数返回值
    函数的执行结果
2. 可以没有return // 没有return或者return后面为空则会返回undefined
3.一个函数应该只返回一种类型的值

二、可变参(不定参)arguments

  1. function sum (a,b)
  2. {
  3. var result=0;
  4. var i=0;
  5. for(i=0;i<arguments.length;i++)
  6. {
  7. result+=arguments(i);
  8. }
  9. alert(resulet);
  10. }
  11. sum(12,5,7,5,5,6,7,3,7)

案例:取非行间样式

案例所需知识

因为直接使用style只能获取定义在行内的样式,因此取非行间样式需要用到下面的属性—获取计算后的样式(当前样式/最终样式)

currentStyle                //IE下可用,无法取得复合样式

GetComputedStyle()    //FF下可用

样式可分为:

基本样式 如:width

复合样式 如:background   //有color,posiition,repeat,image等属性

简单兼容如下:

  1. oDiv=getElementById("div1");
  1. if(oDiv.currentStyle)
  2. {
  3. //IE
  4. alert(oDiv.currentStyle.width);
  5. }
  6. else
  7. {
  8. //FF
  9. alert(getComputedStyle(oDiv,false).width);
  10. }

简单的函数封装:

  1. function getStyle(obj,attr)
  2. {
  3. if(obj.currentStyle)
  4. {
  5. return obj.currentStyle[attr];
  6. }
  7. else
  8. {
  9. return getComputedStyle(obj,false)[attr];
  10. }
  11. }

三、数组基础
1.如何定义
方法一 var arr=[1,2,3,4];

方法二 var new Array(1,2,3,4);

无区别一般用方法一代码短

2.数组的属性
length
既可以获取,又可以设置
例:快速清空数组:arr.length=0;

3.数组使用原则
数组应该只存一种类型的变量

四、数组常用方法
1.添加
push(元素) 尾部添加 arr.push(5)
unshif(元素) 头部添加

2.删除
pop() 从尾部弹出
shift() 从头部弹出

3.排序
sort([比较函数])排序一个数组

(1)排序字符串(默认排序字符串)

  1. var arr1['small','hello','you','big'];
  2. var arr2[34,100,98,4];
  3. arr1.sort();
  4. arr2.sort();
  5. alert(arr1);
  6. alert(arr2);

结果:big,hello,small,you
        100,34,4,98

(2)排序数字

  1. arr2.sort(function(num1,num2){
  2. return num1-num2//从小到大,num2-num1
  3. });

结果:4,34,98,100

4.转换类
(1)concat连接数组

var arr1[1,2,3,4];
var arr2[5,6,7,8];

  1. alert(arr1.concat(arr2));

结果:1,2,3,4,5,6,7,8

(2)join(分隔符)
用分隔符,组合数组元素,生成字符串

  1. alert(arr1.join("-"));

结果:1-2-3-4

(3)split与join相反

  1. var arr3='12-5-7-8"
  2. var arr3=str.split(‘-’);
  3. alert(arr3[0]);

结果:12

5.插入、删除

splice(开始的位置,长度,元素)

var arr[1,2,3,4,5,6];

(1)中间删除

  1. arr.splice(2,3)

结果:126

(2)中间插入

  1. arr.splice(5,0,‘a’,'b','c')

结果:123456abc

(3)中间替换

  1. arr.splice(0,2,‘a’,'b','c')

结果:ab345

原理:先删除再插入

 

博客园:JavaScript基础笔记二

JavaScript基础笔记二的更多相关文章

  1. JavaScript基础笔记一

    一.真假判断 真的:true.非零数字.非空字符串.非空对象 假的:false.数字零.空字符串.空对象.undefined 例: if(0){ alert(1) }else{ alert(2) } ...

  2. JavaScript基础笔记集合(转)

    JavaScript基础笔记集合   JavaScript基础笔记集合   js简介 js是脚本语言.浏览器是逐行的读取代码,而传统编程会在执行前进行编译   js存放的位置 html脚本必须放在&l ...

  3. Javascript学习笔记二——操作DOM

    Javascript学习笔记 DOM操作: 一.GetElementById() ID在HTML是唯一的,getElementById()可以定位唯一的一个DOM节点 二.querySelector( ...

  4. JavaScript基础笔记(十二)Ajax

    Ajax 一.XMLHttpRequest对象 一)XHR用法 var xhr = new XMLHttpRequest(); //open()方法,参数一:发送方法,参数二:请求的URL,参数三:是 ...

  5. JavaScript基础笔记(二)变量、作用域和内存问题

    变量.作用域和内存问题 一.基本类型和引用类型的值 基本类型值:简单的数据段 引用类型值:由多个值构成的对象 基本类型是按值访问的,引用类型是按引用访问的. 不能给基本类型的值添加属性,尽管不会报错. ...

  6. JavaScript基础笔记(十)表单脚本

    表单脚本 一.表单基础知识 JavaScript中表单对应的是HTMLFormElement类型,该类型继承自HTMLElement类型. 通过document.forms可以获得所有表单元素,通过数 ...

  7. JavaScript基础笔记(八)DOM扩展

    DOM扩展 一.选择符API Selectors API是由W3C发起制定的一个标准,致力于让浏览器原生支持CSS查询. 一)querySelector() 在Document和Element类型实例 ...

  8. JavaScript基础笔记(一)基本概念

    基本概念 一.语法 一)区分大小写 二)标识符 书写规则同Java 三)注释 略 四)严格模式 1.在整个脚本中启用严格模式:在顶部添加 "use strict" 2.指定函数在严 ...

  9. JavaScript学习笔记(二)——闭包、IIFE、apply、函数与对象

    一.闭包(Closure) 1.1.闭包相关的问题 请在页面中放10个div,每个div中放入字母a-j,当点击每一个div时显示索引号,如第1个div显示0,第10个显示9:方法:找到所有的div, ...

随机推荐

  1. HDU 5754 Life Winner Bo (找规律and博弈)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5754 给你四种棋子,棋子一开始在(1,1)点,两个人B和G轮流按每种棋子的规则挪动棋子,棋子只能往右下 ...

  2. POJ 3237 Tree (树链剖分 路径剖分 线段树的lazy标记)

    题目链接:http://poj.org/problem?id=3237 一棵有边权的树,有3种操作. 树链剖分+线段树lazy标记.lazy为0表示没更新区间或者区间更新了2的倍数次,1表示为更新,每 ...

  3. WinAPI: FindWindow、FindWindowEx - 查找窗口

    FindWindow(   lpClassName,        {窗口的类名}   lpWindowName: PChar {窗口的标题} ): HWND;              {返回窗口的 ...

  4. Java NIO原理和使用(转载一)

    Java NIO非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个I/O通道后,read()将一直等待在端口一边读取字节内 ...

  5. Unity3D之空间转换学习笔记(二):基础数学

    这期笔记我们专注Unity提供的各种数学相关的类来学习. 时间Time API文档地址:http://docs.unity3d.com/ScriptReference/Time.html 时间加/减速 ...

  6. presentedViewController 和 presentingViewController 以及 dismissViewControllerAnimated 的使用

    在日常的开发中,多控制器之间的跳转除了使用push的方式,还可以使用 present的方式,present控制器时,就避免不了使用 presentedViewController.presenting ...

  7. iOS开发-为程序添加应用设置

    一.设置捆绑包 设置捆绑包是应用自带的一组文件,用于告诉设置该应用期望得到用户的哪些偏好设置. 新建设置捆绑包:Command+N,在iOS部分中的Resource,选择Settings Bundle ...

  8. 【转】python的小知识

    1. 如何反序访问一个序列(how do I iterate over a sequence in reverse order) 如果序列是list,则使用list.reverse()即可将序列反序. ...

  9. HDU 5515 Game of Flying Circus 二分

    Game of Flying Circus Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem ...

  10. enum 在c中的使用

    假设一个变量你须要几种可能存在的值,那么就能够被定义成为枚举类型.之所以叫枚举就是说将变量或者叫对象可能存在的情况也能够说是可能的值一一例举出来.  举个样例来说明一吧,为了让大家更明确一点,比方一个 ...