JavaScript第二天| 青训营笔记

61 阅读2分钟

这是我参与[第五届青训营]伴学笔记创作活动的第8天 js最经常使用到的函数,今天我做了一个系统的学习,对函数有了一个比较清晰的认知 为什么要使用函数?

为什么要使用函数?
function,被设计为执行特定任务的代码块
可以把相同或者相似逻辑的代码块包裹起来,
然后通过调用函数执行,随时调用随时执行
有利于精简代码,方便复用 

语法格式 function fun1() { document.write('函数调用
') }

    **调用函数**,不调用无法实现函数!
    fun1()

    可以复用
    fun1()
    fun1()

    像alert其实也是一种函数,只不过内部已经写好了,
    不需要我们去调用,直接写直接用
    
    立即执行函数,打开网页时无需被调用可以直接实现
    可以防止全局变量之间的污染
    (相同的变量名太多,导致错误)
    (function(){
        document.write(123)
     打开网页,123直接被输出!
    }) ();

     多个立即执行函数之间,需要用分号;隔开,否则报错
    (function(){
        document.write(456)
    }) ();
    
    

首先说明一点,函数如果不传入参数会怎么样?

如果变量没有被赋值,那么默认为undefined

导致的后果就是,undefined+任何类型的数据都为NaN(Not a Number)

除了加上字符串,会隐式转换为字符串类型

作用域:代码只在哪个范围生效 全局作用域:在整个script标签里面有效 局部作用域:也称函数作用域,只在函数内有效 块作用域:只在{}里有效

    let num1 = 1 // 全局变量
    // 可以在整个script里被修改、使用

    function fn(){
        let num2 = 10 // 局部变量
    // 只能在fn()的作用域里使用
    }

    要注意一个嵌套的问题
    function father(){
        let num3 = 10
        console.log(num3)
        function son(){
            let num4 = 10
            console.log(num1)
        /* 在这里为什么可以调用最外面的num1呢?
           子函数可以调用父级的变量! */
        }
        son()
        console.log(num4)
        // 但是父级不能调子函数里面的变量!
    }
    father()
    

不积跬步无以至千里!继续学习吧!