Files
weblianxi/js1/函数.md
2021-06-26 23:41:49 +08:00

4.2 KiB
Raw Permalink Blame History

函数

  • 简介函数语法

  • 函数包含哪几部分

  • 简述函数返回值规则

  • 下面代码的执行结果为

    var x = myFunction(7, 8);      
      function myFunction(a, b) {
          return a * b;                
      }
    
  • 简单介绍局部变量和全局变量

  • 下面两段代码的执行结果分别是什么 并说明原因

    function myFunction() {
      var carName = "Volvo";
    }
    console.log(carName)
    
    
    function myFunction() {
      var carName = "Volvo";
      console.log(carName)
    }
    
    
    
  • 函数如何返回值,如何接收

  • 下面代码执行结果是什么 为什么

function sum(iNum1, iNum2) {
    return iNum1 + iNum2;
  }

  • 下面代码执行结果是什么 为什么
function sum(iNum1, iNum2) {
    console.log(iNum1 + iNum2);
  }

  • 下面代码执行结果是什么 为什么
function sum(iNum1, iNum2) {
    console.log(iNum1 + iNum2);
  }
sum()

  • 下面代码执行结果是什么 为什么

      function sum(iNum1, iNum2) {
          return iNum1 + iNum2;
        }
        var iResult = sum(1,1);
      alert(iResult);	
    
    
  • 下面代码执行结果是什么 为什么

      function sum(iNum1, iNum2) {
        return iNum1 + iNum2;
        alert(iNum1 + iNum2);
      }
    
  • 下面代码的执行结果为

    function sayHi(sMessage) {
      if (sMessage == "bye") {
        return;
      }
    
      alert(sMessage);
    }
    
  • 如何检测参数的个数

  • 下面代码的执行结果是多少

      function howManyArgs() {
        alert(arguments.length);
      }
    
      howManyArgs("string", 45);
      howManyArgs();
      howManyArgs(12);
    
    
  • 下面代码的执行结果

    function sayHi() {
    if (arguments[0] == "bye") {
      return;
    }
    
    alert(arguments[0]);
    }
    
  • 下面代码的执行结果是什么

    function howManyArgs() {
    alert(arguments.length);
    }
    
    howManyArgs("string", 45);
    howManyArgs();
    howManyArgs(12);
    
    
  • 什么是函数重载

  • 下面代码的执行结果是什么

    function doAdd() {
      if(arguments.length == 1) {
        alert(arguments[0] + 5);
      } else if(arguments.length == 2) {
        alert(arguments[0] + arguments[1]);
      }
    }
    
    doAdd(10);	
    doAdd(40, 20);
    
  • 通过new function() 的系形式重新定义下面的对象

    function sayHi(sName, sMessage) {
      alert("Hello " + sName + sMessage);
    }
    
    
  • 编写一个函数,计算三个数字的大小,按从小到大顺序输出

  • 用*实现等边三角形

  • 创建函数的几种方式

  • 下面代码的执行结果为

sum(3,4);
sum("3",4);
sum("Hello","World");

// 定义函数:求和
function sum(a, b) {
	console.log(a + b);
}
  • 下面代码的执行结果为
function sum(a, b) {
		console.log(a + b);
	}

	sum(1, 2);
	sum(1, 2, 3);
	sum(1);
  • 下面代码的执行结果为
console.log(fn) == console.log(function fn(){alert(1)});

//定义fn方法
function fn(){
	alert(1)
};
  • fn 和 fn()的区别

  • 下面代码的执行结果为

(function(a, b) {
		console.log("a = " + a);
		console.log("b = " + b);
	})(123, 456);
  • 下面代码的执行结果为
function foo() {
    console.log(arguments);
    console.log(typeof arguments);
}

foo();
  • 如何返回函数传入的参数个数

  • 下面代码的执行结果为


fn(2, 4);
fn(2, 4, 6);
fn(2, 4, 6, 8);

function fn(a, b) {
    console.log(arguments);
    console.log(fn.length); 
    console.log(arguments.length); 

    console.log('----------------');
}

  • 下面代码的执行结果为
function fun() {
    console.log(arguments.callee == fun); //打印结果为true
}

fun('hello');

  • 下面代码的执行结果为
fn(2, 4);
fn(2, 4, 6);
fn(2, 4, 6, 8);

function fn(a, b) {
    arguments[0] = 99; //将实参的第一个数改为99
    arguments.push(8); //此方法不通过,因为无法增加元素
}
  • 介绍arguments的使用

  • 编写一个函数来验证输入的字符串是否是有效的 IPv4 地址。

    如果是有效的 IPv4 地址,返回 "IPv4" 如果不是上述类型的 IP 地址,返回 "Neither" 。

IPv4 地址由十进制数和点来表示,每个地址包含 4 个十进制数,其范围为 0 - 255 用(".")分割。比如172.16.254.1