zoukankan      html  css  js  c++  java
  • JavaScript函数与面向对象基础_js

    一 、javaScript函数分类

    1、普通函数

    function 函数名(){函数体}

    调用方式 :函数名()

    2、匿名函数

    function (){函数体}

    调用:一般在做好里面直接调用,相当于整体放进去,如:

    setInterval(function (){函数体}){函数体}

    3、自执行函数

    (function(){})()

    自动执行,常用于导入的插件

    二、作用域

    1、js以函数作为作用域

    2、函数的作用域在函数被调用之前,已经创建

    3、函数的作用域存在作用域链并且也是被调用之前创建(例如函数套函数链)

        x=0
        function func() {
        var x=1
        function inner() {
        console.log(x)
        }
        return inner
        }
        ret=func()
        ret() #打印的是1

    4、函数内部局部变量会提前声明

     (1)

    function fun() {
    console.log(xo);
    }
    fun() //程序会报错

    (2)
    function fun() {
    console.log(xo);
    var xo='chen'
    }
    fun() //会打印undefind

    5、总结词法分析顺序例子:

    function fun(age){
    console.log(age); //function age
    var age=32;
    console.log(age); //32
    function age() {};
    console.log(age);//32
    }

    fun(22)

    分析先后顺序:

    (1)、形式函数

      a、age=undefined

      b、age=22

    (2)、局部变量

      a、age=undefined

    (2)、函数声明表达式

      a、age=undefined

      b、age=function表达式

    分析之后拿着 age=function函数体 开始去从上往下执行,所以得出上面的结果

    三、面向对象

    1、格式

    function Foo(n) {
    this.name=n;
    this.sayName=function () {
    console.log(this.name)
    }
    }
    var obj=new Foo('chen')
    console.log(obj.name)
    obj.sayName();

    this:代指对象(相当于python的self)
    创建对象时,new 类()

    2、python的类的函数自动保存在类中,js中的类自动保存在对象中,浪费内存空间
    原型:让需要的js函数保存在类中:
    function Foo(n) {
    this.name=n;
    Foo.prototype={
    'sayName':function () {
    console.log(this.name)
    }}
    }
    var obj=new Foo('chen')
    console.log(obj.name)
    obj.sayName();






  • 相关阅读:
    Spring(九)之事件处理
    Spring(八)之基于Java配置
    Spring(七)之基于注解配置
    Spring(六)之自动装配
    Spring(五)之Bean定义继承和依赖注入
    Spring(四)之Bean生命周期、BeanPost处理
    开源 视频会议 收藏
    摄像头拍照录相代码,没摄像头测试,
    什么是ICE (Internet Communications Engine)
    AForge.NET Framework-2.2.5
  • 原文地址:https://www.cnblogs.com/chenxiaozan/p/12726550.html
Copyright © 2011-2022 走看看