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();






  • 相关阅读:
    阿里巴巴公布合伙人名单,董建华成为独董,俞永福未进入合伙人
    android cookie
    在Android的webview中定做js的alert,confirm和prompt对话框的方法
    浅谈WebView的使用 js alert
    Android的移动存储之SharedPreferences
    [android]-如何在向服务器发送request时附加已保存的cookie数据
    layout_weight
    我们是如何认识世界的
    挣钱和花钱
    时刻牢记“我是谁、为了谁、依靠谁” 始终践行党的群众观点和群众路线
  • 原文地址:https://www.cnblogs.com/chenxiaozan/p/12726550.html
Copyright © 2011-2022 走看看