一、函数传参

参数=JS数据类型(数字、字符串、布尔、函数、对象、未定义)

fn1(100);
function fn1(a){alert(a);    //100
}

  应用:

重写代码:

  1.尽量保证HTML代码一致,可以通过父级选取元素

  2.把核心朱程序实现,用函数包起来

  3.把每组不通知找出来,通过传参实现

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style>
ul { padding:0; margin:0; }
li { list-style:none; }
body { background:#333; }
.box { width:400px; height:500px; position:relative; background:url(img/loader_ico.gif) no-repeat center #fff; float:left; margin-right:60px; }
.box img { width:400px; height:500px; }
.box ul { width:40px; position:absolute; top:0; right:-50px; }
.box li { width:40px; height:40px; margin-bottom:4px; background:#666; }
.box .active { background:#FC3; }
.box span { top:0; }
.box p { bottom:0; margin:0; }
.box p,.box span { position:absolute; left:0; width:400px; height:30px; line-height:30px; text-align:center; color:#fff; background:#000; }
</style>
<script>window.onload = function (){fnTab( 'pic1', [ 'img/1.png', 'img/2.png', 'img/3.png', 'img/4.png' ], [ '小宠物', '图片二', '图片三', '面具' ], 'onclick' );fnTab( 'pic2', [ 'img/2.png', 'img/3.png', 'img/4.png' ], [ '图片二', '图片三', '面具' ], 'onmouseover' );
};function fnTab( id, arrUrl, arrText, evt ){var oDiv = document.getElementById(id);var oImg = oDiv.getElementsByTagName('img')[0];var oSpan = oDiv.getElementsByTagName('span')[0];var oP = oDiv.getElementsByTagName('p')[0];var oUl = oDiv.getElementsByTagName('ul')[0];var aLi = oUl.getElementsByTagName('li');var num = 0;for( var i=0; i<arrUrl.length; i++ ){oUl.innerHTML += '<li></li>';}// 初始化function fnTab(){oImg.src = arrUrl[num];oSpan.innerHTML = 1+num+' / '+arrUrl.length;oP.innerHTML = arrText[num];for( var i=0; i<aLi.length; i++ ){aLi[i].className = '';}aLi[num].className = 'active';}fnTab();for( var i=0; i<aLi.length; i++ ){aLi[i].index = i;         // 索引值aLi[i][evt] = function (){num = this.index;fnTab();};}
}
</script>
</head><body><div id="pic1" class="box"><img src="" /><span>数量正在加载中……</span><p>文字说明正在加载中……</p><ul></ul>
</div><div id="pic2" class="box"><img src="" /><span>数量正在加载中……</span><p>文字说明正在加载中……</p><ul></ul>
</div></body>
</html>

 

 二、作用域

1.作用域:在空间范围内可以进行读写

2.浏览器:

1)“找一些东西”:var function 参数

所有变量在运行代码之前都提前赋了一个值:未定义;所有函数在运行代码之前都是一个全整的代码块

预解析:遇到重名的只保留一个、变量和函数重名只保留函数。

2)逐行读取代码

转载于:https://www.cnblogs.com/tflicong/p/8386877.html

JS函数传参、作用域相关推荐

  1. x64汇编第三讲,64位调用约定与函数传参.

    目录 x64汇编第三讲,64位调用约定与函数传参. 一丶复习X86传参 二丶x64汇编 2.1汇编详解 x64汇编第三讲,64位调用约定与函数传参. 一丶复习X86传参 在x86下我们汇编的传参如下: ...

  2. C++函数传参int a,int *a,int a,const int a的区别

    C++函数传参int a,int &a,const int &a的区别 # 传参方式                  作用 int a 值传递 无法改变a的值 int *a 地址传递 ...

  3. 看似无参却有参-----JS中的函数传参

    事件event JS的事件event是一个非常大的对象,不管是什么事件,事件的详情都会绑定到全局变量event中.这样做之所以安全,就是因为JS是单线程的. <html><body& ...

  4. js 点击事件回调函数传参

    点击事件回调函数传参 使用匿名函数 function testFun(event, str) {console.log(str); }var test = document.getElementByI ...

  5. Python类三种方法,函数传参,类与实例变量

    1 Python的函数传递: 首先所有的变量都可以理解为内存中一个对象的'引用' a = 1 def func(a):a = 2 func(a) print(a) # 1a = 1 def fun(a ...

  6. python类与函数编程_Python类三种方法,函数传参,类与实例变量(一)详解

    1 Python的函数传递: 首先所有的变量都可以理解为内存中一个对象的'引用' a = 1 def func(a): a = 2 func(a) print(a) # 1 a = 1 def fun ...

  7. 函数传参string_JavaScript 高阶函数入门浅析

    原文:https://www.freecodecamp.org/news/a-quick-intro-to-higher-order-functions-in-javascript-1a014f89c ...

  8. 字符串的一系列方法以及函数传参

    字符串 存储: 计算机只能够存储二进制 所以存储字符串时 也需要转为二进制 所以就需要有一个对照表 方便将字符和二进制进行转换 这样的内容叫做编码方式 常见的有 ascii unicode 等 定义字 ...

  9. python如何次传参给线程_python如何给线程中的函数传参?

    1.Process说明 (1)概念 process模块是一个创建进程的模块,借助这个模块,就可以完成进程的创建. (2)语法([group [, target [, name [, args [, k ...

  10. C++知识点7——函数传参

    函数传参的原理和对象初始化的原理完全一致,用实参去初始化形参 函数传参的两种形式 1.按值传参 按值传参时,实参的拷贝用来初始化形参. int main(int argc, char const *a ...

最新文章

  1. pandas dataframe调整列的位置
  2. C#程序员的春天之从零开始学习unity3D游戏开发入门教程二(创建项目及基本面板介绍)...
  3. anaconda安装scrapy_Scrapy框架的安装
  4. Java EE 7批处理和魔兽世界–第2部分
  5. Failed to resolve: org.jetbrains.kotlin:kotlin-stdlib-jre7:1.3.21
  6. c++11线程必须要懂得同步技术
  7. java锁的对象引用
  8. 认识服务器与web服务器
  9. AttributeError lxml.etree Element object has no attribute get_attribute
  10. 状态压缩dp学习小记part1
  11. 嵌入式 Web Server 温度检测系统
  12. 三种存储类型和三种存储方式
  13. vbox vdi磁盘注册_克隆Virtualbox的vdi硬盘 和 修改uuid
  14. 1 R和RStudio的安装
  15. 访问windows azure虚拟机iis服务器,Azure使用文件共享从IIS虚拟机共享照片?
  16. isInterrupted() interrupt() interrupted() 方法的简单解释
  17. 对电视将来的发展发向
  18. 关于学校食堂工人的调查
  19. ClipperLib库使用说明
  20. GIS行业应用|智慧城市系列之智慧公安02

热门文章

  1. laravel的elixir和gulp用来对前端施工
  2. 大数据架构与技术——(一)大数据概述
  3. nginx 自建证书https 报错 no “ssl_certificate“ is defined in server listening on SSL port while SSL handsha
  4. 不可重复读和幻读的区别(悲观锁和乐观锁)
  5. 5G手机和4G手机的区别
  6. 原型工具Axure:通用操作(快捷键、常用元件、常用交互、元件库与母版、原型规范、小记)
  7. JDK8环境配置教程
  8. visio中的公式在转换pdf后公式糊掉;word导出pdf时visio丢失模块字体
  9. 携手做大做强中国集成电路产业链
  10. c51单片机音乐门铃C语言程序,89c51六首歌曲的音乐门铃程序