函数function

函数 function

样式:
function 随便起个名 () {

例如:

		if(1 > 0){
            document.write('a');
            document.write('b');
            document.write('c');
        }
        if(2 > 0){
            document.write('a');
            document.write('b');
            document.write('c');
        }
        if(3 > 0){
            document.write('a');
            document.write('b');
            document.write('c');
        }

以上情况就是偶合,偶合度非常高,偶合代码就是低效代码。
编程讲究高内聚,弱偶合。
下面是简便写法:可以用test调用执行,写几个test就调用执行几次。

		function test () {
            document.write('a');
            document.write('b');
            document.write('c');
        }
        if(1 > 0){
            test();
        }
        if(2 > 0){
            test();
        }
        if(3 > 0){
            test();
        }

例如:

		function test () {
            var a = 123;
            var b = 234;
            var c = a + b;
            document.write(c);
        }
        test();

显示:357。写了一个test(),就执行了一遍函数语句,如果不写test(),就相当于有一个框来存东西,但是不执行。
例如:

		function test () {
            document.write('hello world ')
        }
        test();

注:函数function可以先定义功能,之后再去用

一,定义

1,函数声明

定义一个函数可以先写一个function,函数就是另一个类型的变量
我声明一个函数test,test是函数名,写成下面

function test(){
        函数体
}

函数名起名:开发规范要求,函数名和变量名如果由多个单词拼接,必须符合小驼峰原则(第一个单词首字母小写,后面的首字母大写)
例如:

		function theFirstName(){}
        document.write(theFirstName);

显示:function theFirstName(){},打印出来是函数体。

2,函数表达式

例如:

		var test = function test (){
            document.write('a')
        }
        test();

这种方式像定义了一个变量

(1)命名函数表达式

例如:

		var test = function abc() {
            document.write('a');
        }

上面这个函数 name 是 abc
在下面这个例子中:

		var test = function abc() {
            document.write('a');
        }

这一部分叫表达式,是会忽略abc这个地方的名字,会变成匿名函数表达式,不如直接写成匿名函数

(2)匿名函数表达式(常用,一般说的函数表达式就是匿名函数表达式)
function test() {}

二,组成形式

1,函数名称

function test(){}其中function是函数关键字,test是函数名,必须有(){},参数可有可没有,参数就是写在()里面的。
如果写成function test(a, b){},相当于隐式的在函数里面 var a,var b 申明了两个变量,()里面不能直接写var
例如:

		function test(a, b){
            document.write(a + b)
        }
        test(1, 2);

上面这个例子,1就会到a里面去,2就会到b里面去,这是传参形式

2,参数

(1) 形参 (形式参数):指的是function sun(a, b){},括号里面的a和b
(2) 实参(实际参数):指的是sum(1, 2),里面的1和2。

天生不定参,形参可以比实参多,实参也可以比形参多
例如:

 // 形式参数——形参
    function sum(a, b) {
        var c = a + b;
        document.write(c);
    }
    // 实际参数——实参
    sum(1, 2);
    sum(3, 4)

js参数不限制位置,天生不定参数,在每一个函数里面都有一个隐式的东西arguments这个是实参列表
console.log();是把信息展示在控制台
document.write();是把信息展示在网页
例如:任意个数求和(不定参数才能求出来)

		function sum() {
            // arguments [1,2,3,4,5,6,7];
            var result = 0;
            for(var i = 0;i < arguments.length; i++){
                result += arguments[i];
            }
            console.log(result)
        }
        sum(1,2,3,4,5,6,7,8,9)

形参永远有尽头,要实现任意求和,无法定义形参。

例如:

		function sum(a, b) {
            // arguments [1,2]
            // var a = 1;
            a = 2;
            console.log(arguments[0]);
        }
        sum(1, 2);

显示:2,a变,arguments跟着变,有一个映射关系。
例如:

		function sum(a, b) {
            // arguments [1,2]
            // var a = 1;
            arguments[0] = 3;
            console.log(a);
        }
        sum(1, 2);

显示:3,arguments里面一个变,一个跟着变,但是[1, 2]是两个人,相当于映射关系。
例如:当形参两个,实参一个

		function sum(a, b) {
            // arguments[1]没值
            b = 2;
            console.log(arguments[1]);
        }
        sum(1);

显示:undefined,实参出生时有几个,就有几个,在写b=2,也不加在arguments[1]里面了,此处的b就当变量用,它和实参不映射。
形参实参完全对应上才映射
例如:

		function sum(a, b) {
            // arguments[1]没值
            a = 2;
            console.log(arguments[0]);
        }
        sum(1);

显示:2

3,返回值 return

结束条件和返回值 return,return 有终止函数的功能
没写return,实际上是加了一个隐式的return。

例如:

		function sum(a, b) {
            console.log('a');
            console.log('b');
            return;
        }
        sum(1);

显示:a b
例如:

		function sum(a, b) {
            console.log('a');
            return;
            console.log('b');
        }
        sum(1);

显示:a
return 最常用的是返回值,本意可以把一个值返回到函数以外,自己的函数也能返回
return 空格 123
例如:

		function sum() {
            return 123;
            console.log('a');
        }
        var num = sum();

这里num就是123,而且console.log()无效,这里的return有终止函数又返回变量

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值