03.深入javascript

函数返回值

函数返回值和函数传参正好相反,函数传参是我们可以把一些东西传到函数里面去,函数返回值是函数可以把一些东西传到外面来。

<script>
function show()
{
return 12;
}
alert(show());// 弹出12 在哪调用返回到哪
</script>

<script>
function show(a, b)
{
return a+b;
}

alert(show(3, 5));//弹出8
</script>

一个函数应该只返回一种类型的值
<script>
function show()
{
}
alert(show());
</script>
//弹出 undifined 函数也可以没有返回值

函数传参

可变参(不定参):arguments 是一个数组,参数的个数可变,参数数组
例子 求和

<script>
function sum()
{
var result=0;
for(var i=0;i<arguments.length;i++)
{
result=result+arguments[i];
}
return result;
}
alert(sum(12, 6, 8, 6, 8,8));

css(oDiv, ‘width‘) 获取样式

arguments[0]   oDiv
arguments[1]   width
arguments[2]    200px

css(oDiv, ‘width‘, ‘200px‘) 设置样式

<div id="div1" style="width:200px; height:200px; background:red;">  </div>

<script>

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‘, ‘green‘);
};
</script>

用传参的方式 obj, name, value

<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>

取非行间样式(不能用来设置):
obj.style用来获取行间样式
obj.currentStyle[attr] 用来获取非行间样式 不过只能兼容ie 火狐谷歌不兼容
getComputedStyle(obj, false)[attr]  兼容火狐谷歌 不兼容ie

复合样式:background、border
单一样式:width、height、position

#div1 {width:200px; height:200px; background:red;}
<script>
function getStyle(obj, name)
{
    if(obj.currentStyle)
    {
        return obj.currentStyle[name];
    }
    else
    {
        return getComputedStyle(obj, false)[name];
    }
}

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

    alert(getStyle(oDiv, ‘backgroundColor‘));//background、border属于复合样式需要写成backgroundColor, borderWidth
};
</script> 
<div id="div1"></div>

数组的使用

数组定义的两种方法
var arr=[12, 5, 8, 9];
var arr=new Array(12, 5, 8, 9); 没有任何差别,[]的性能略高,因为代码短

数组的属性 length
既可以获取,又可以设置
例子:快速清空数组

<script>
var arr=[1,2,3];
//alert(arr.length); //弹出数组的长度 
alert(arr.length=0);//设置数组的长度为0,即清空数组
</script>
数组使用原则:数组中应该只存一种类型的变量
数组添加、删除元素

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

插入、删除
splice (开始,长度)             删除
splice(开始, 长度,元素…)   先删除,后插入

splice (开始,长度)             删除<script>
var arr=[1,2,3,4,5,6];
arr.splice(2, 3); //删除:splice(起点, 长度)从第二个位置开始即从数字3开始,删除三个
alert(arr);  //弹出的是 1,2,6
</script>
splice(开始, 长度,元素…)   先删除,后插入<script>
var arr=[1,2,3,4,5,6];
arr.splice(2,0,7,8,9); //先删除在加入:splice(起点, 长度,元素...)从第二个位置开始即从数字3开始,删除0个插入7,8,9
alert(arr);  //弹出的是 1,2,7,8,9,3,4,5,6
</script>


数组添加、删除元素数组添加
、删除元素
数组添加、删除元素

 

时间: 2024-09-29 23:01:47

03.深入javascript的相关文章

[连载]JavaScript讲义(03)--- JavaScript面向对象编程

[连载]JavaScript讲义(03)--- JavaScript面向对象编程,布布扣,bubuko.com

【学习笔记03】Javascript数组学习

数组定义的方法一: var Myarr=new Array(); //先声明一维 for(var i=0;i<2;i++){ //一维长度2 Myarr[i]=new Array(); //再声明二维 for(var j=0;j<3;j++){ Myarr[i][j]=i+j; //赋值,每个数组元素为i+j } } 定义方法二: var Myarr=[[0,1,2],[1,2,3]] 练习:定义一个10*10的二维数组,值为1到100,打印成10*10的矩阵 <script> v

javascript 中this详解

this是每一个想要深入学习Javascript的人必过的一关,我为this看过很多书查过很多资料,虽然对this有了一定的了解并且也经常使用this,但是如果有人问我  this是什么呀? 我依旧不能给别人一个完美的解释.最近一个小的机缘,让我重新对this有了认识,终于觉得自己可以把我认识到的this将给别人听了,所以现在迫不及待的来分享一下我的认识 说到this,最重要的就是this的指向了(这样说并不准确,因为this只是函数被调用时所创建的活动对象中的一个属性而已). 有些人可能认为t

JavaScript书籍阅读

JavaScript书籍阅读 O'Reilly系列: 01><JavaScript语言精粹> 02><JavaScript模式> 03><高性能JavaScript> 04><编写可维护的JavaScript> 05><JavaScript设计模式> 06><基于MVC的JavaScript Web富应用开发> 07><高性能网站建设指南> 08><高性能网站建设进阶指

【吐血推荐】牛人收集的163个Javascript学习教程pdf电子书资源合集

不收藏是你的错^_^. 经证实,均可免费下载. 资源名称 资源大小   15天学会jQuery(完整版).pdf 274.79 KB   21天学通JavaScript(第2版)-顾宁燕扫描版.pdf 26.02 MB   5天驾驭JQuery教程.pdf 1.08 MB   ACCP软件开发初级程序员-使用Javascript增强交互效果-北大青鸟.pdf 51.70 MB   Ajax+PHP程序设计实战详解.pdf 84.29 MB   Ajax实战中文版.pdf 2.48 MB   Aj

快速熟悉 javascript 第一季

最近学习了JavaScript基础知识.写这篇博客主要是把自己学习JavaScript总结了一下,同时希望能带给想学习JavaScript的新手一点启发. 下面简单介绍一下JavaScript是什么东东?它是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言.其中包含三个部分:ECMAScript,文档对象模型,浏览器对象模型.想更清楚的了解JavaScript,自己可以百度一下.概念性的问题,我一般先记下来,慢慢去理解和领悟. 下面呢,我分享一下学习目录. 01. 初探JavaScript

Web前端开发推荐阅读书籍、学习课程下载

转自http://www.xuanfengge.com/fe-books.html 前言 学校里没有前端的课程,那如何学习JavaScript,又如何使自己成为一个合格的前端工程师呢? 除了在项目中学习和跟着有经验的同事学习,读书也是必不可少的.书中有着相对完整的知识体系,每读一本好书都会带来一次全面的提高. 而如果深一脚浅一脚的学习,写出代码的质量会参差不齐.初学者的首要任务是成为靠谱的熟练开发者,能够稳定的输出有一定质量的代码. 前端技术发展速度特别快,总是涌现出很多新的东西,需要不断的学习

AJAX实现导航式多条件搜索

导航式搜索在实际网站开发中有很多应用,其实现原理也不复杂,关键是如何记忆所选的条件.常见的方式有存入session.存入数组等.本文采用的是AJAX+数组的方式,在不跳转,不刷新整个页面的条件下动态返回查询结果. 效果图如下: 1.search.jsp 通过将所选的查询条件存入数组,通过AJAX传到后台,这样在后台利用所得到的查询条件,就可以到数据库进行查询了.代码如下: <%@ page language="java"  import="java.util.List;

2016年12月笔记

分享12306抢票心得-终极秒杀思路篇 http://www.cnblogs.com/guozili/p/6144561.html 解析12306订票流程 http://blog.csdn.net/lzqwebsoft/article/details/18674635 Linux C语言编程基本原理与实践 http://www.imooc.com/learn/248?from=itblog Linux达人养成计划 I http://www.imooc.com/learn/175?from=itb