Js的函数及作用域问题
来源:互联网 发布:企业级网络交换机 编辑:程序博客网 时间:2024/05/16 06:13
<input type="button" id="btn" value="a" onclick="sayHi()"/>
<inputtype="button"id="btn"value="a"/>
<scripttype="text/javascript">
函数的基本格式
function 函数名(参数列表){
函数体
returu 返回值;
}
函数的第一种类型:无参数无返回值
当函数无返回值的时候,return可以不写
function textOne(){
alert("我是一个函数");
}
函数的调用
textOne();
创建一个函数,函数名是sayHi,功能是打印三遍“我要减肥”。
for(var i=0;i<3;i++){
function sayHi(){
console.log("我要减肥");
}
sayHi();
}
function sayHi(){
for(var i=0;i<3;i++){
console.log("我要减肥");
}
}
sayHi();
var oBtn=document.getElementById("btn");
将一个已经声明好的函数绑定给一个按钮的事件,是不需要加括号的,只写函数名就好了。
oBtn.onclick= sayHi;
函数的第二种类型:有参数无返回值
function textTwo(a,b,c){
alert(a+b+c);
}
textTwo(1,2,3);
编写函数,应用for循环,打印n遍“我要减肥”,n的值可以随意改变。
function textTwo(n){
for(var i=0;i<n;i++){
console.log("我要减肥");
}
}
textTwo(100);
实参,形参。
实参--形参,是值拷贝的过程。
形参
function hh(a){
a++;
alert(a);
}
var num = 10;
hh(num);//实参
alert(num);
函数第三种类型:无参数有返回值
function textThree(){
return 100;
alert("aaaa");
}
var result = textThree();
alert(result);
1.return的作用是将函数的结果返回到调用函数的地方
2.return是跳出函数
3.return后面的代码不会被执行
函数的第四种:有参数有返回值类型。(求两个数的和)
function isSum(a,b){
var result = a+b;
return result;
}
var c = isSum(5,6);
alert(c);
题:编写函数,计算1-n的和,并将计算结果返回,n的值由参数传入
function fd(n){
var sum=0;
for(var i=1;i<=n;i++){
sum+=i;
}
return sum;
}
var result = fd(100);
alert(result);
编写函数,求两个数的最大值,并且返回最大值。
function aa(a,b){
returna>b?a:b;
}
var result = aa(45,200);
alert(result);
function dd(a,b,c){
var max = a>b?a:b;
max = max>c?max:c;
return max;
}
var result = dd(15,26,85);
alert(result);
function aaa(a,b,c){
var max = aa(a,b);
max = aa(max,c);
return max;
}
var result = aaa(45,26,51);
alert(result);
function aaaa(a,b,c,d){
var max = aaa(a,b,c);
max = aa(max,d);
return max;
}
var result = aaaa(12,23,56,9);
}
var result = aa(45,200);
alert(result);
function dd(a,b,c){
var max = a>b?a:b;
max = max>c?max:c;
return max;
}
var result = dd(15,26,85);
alert(result);
function aaa(a,b,c){
var max = aa(a,b);
max = aa(max,c);
return max;
}
var result = aaa(45,26,51);
alert(result);
function aaaa(a,b,c,d){
var max = aaa(a,b,c);
max = aa(max,d);
return max;
}
var result = aaaa(12,23,56,9);
alert(result);
匿名函数:
<inputtype="button"id="btn"value="按钮"/>
<scripttype="text/javascript">
var oBtn = document.getElementById("btn");
oBtn.onclick = function() {
oBtn.onclick = function() {
}
varaaa = function() {
alert("111111");
}
aaa();
</script>
作用域:
<scripttype="text/javascript">
//里面的函数不能供外面使用,外面的函数,里面可以肆意调用
var num = 20;
function textOne(){
alert(num);
}
textOne();
var oBtn = document.getElementById("btn");
var compare = true;
oBtn.onclick = function(){
if (compare==true) {
var num = 10;
} else{
alert(num);
}
compare = !compare;
}
for(vari=0;i<3;i++){
var num = 20;
}
alert(num);
switch:
//输入一个函数,传入两个整数和一个计算符号(+-*/)
//然后返回计算结果。
function textOne(a,o,b){
if (o == "+") {
return a+b;
}else if(o == "-") {
return a-b;
}else if(o == "*") {
return a*b;
}else if(o == "/") {
if (b==0) {
alert("SB,b不能为0");
} else{
return a/b;
}
}else{
alert("符号错误");
}
}
var result = textOne(1,"/",8);
alert(result);
switch
var a = 10;
var b = 5;
switch (a*b){
case a+b:
alert(a+b);
break;
case a/b:
alert(a/b);
break;
case a*b:
alert(a*b);
break;
case a-b:
alert(a-b);
break;
default:
alert("lsp,没有这个值");
break;
}
function textTwo(a,o,b){
switch (o){
case "+":
return a+b;
break;
case "-":
return a-b;
break;
case "*":
return a*b;
break;
case "/":
return a/b;
break;
default:
break;
}
}
var dd = textTwo(1,"+",9);
alert(dd);
function textOne(a,o,b){
if (o == "+") {
return a+b;
}else if(o == "-") {
return a-b;
}else if(o == "*") {
return a*b;
}else if(o == "/") {
if (b==0) {
alert("SB,b不能为0");
} else{
return a/b;
}
}else{
alert("符号错误");
}
}
var result = textOne(1,"/",8);
alert(result);
switch
var a = 10;
var b = 5;
switch (a*b){
case a+b:
alert(a+b);
break;
case a/b:
alert(a/b);
break;
case a*b:
alert(a*b);
break;
case a-b:
alert(a-b);
break;
default:
alert("lsp,没有这个值");
break;
}
function textTwo(a,o,b){
switch (o){
case "+":
return a+b;
break;
case "-":
return a-b;
break;
case "*":
return a*b;
break;
case "/":
return a/b;
break;
default:
break;
}
}
var dd = textTwo(1,"+",9);
alert(dd);
</script>
0 0
- Js的函数及作用域问题
- JS函数作用域及作用域
- js的作用域问题及简单练习
- js函数作用域及this指向
- js的函数作用域
- JS作用域的问题
- js作用域的问题
- JS闭包的运用及匿名函数的作用
- JS函数作用域
- js函数 作用域
- js中函数的作用域
- js作用域安全的构造函数
- JS 函数作用域及变量提升那些事!
- js的函数作用域跟块级作用域
- js 作用域问题
- 一个Js方法作用域的问题
- js的this作用域问题
- JS中作用域的问题
- android图片压缩的3种方法实例
- Linux——粘滞位(Sticky bit)
- 返回字符串的最长数字串
- HDOJ2069
- MySQL 使用自增ID主键和UUID 作为主键的优劣比较详细过程(从百万到千万表记录测试)
- Js的函数及作用域问题
- C/C++ 代码安全(二)
- Android性能优化小结
- HTML可编辑的select
- the begin
- java内部类、静态内部类 小结
- casecade结构和HAAR检测流程
- Spinner + 适配器
- linux自学群565589971欢迎加入