文档章节

JavaScript中的函数调用

YJ_
 YJ_
发布于 2017/07/27 14:28
字数 386
阅读 7
收藏 0

JavaScript中函数的调用有多种,以下是我总结的4种调用方式:

        第一种:直接调用,一般指向window对象

        第二种:对象调用,一般指向调用对象

        第三种:call/apply调用,一般指向函数运行你的作用域

        第四种:new,一般指向调用后产生的对象

        备注:放在代码段里是为了方面测试和学习

        //fun()
        //stu.fun()
        //fun.call/apply(this,参数)
        //new fun()

        //(1)直接调用
       var name = 'lpen'
        function person(name) {
            alert(this.name);
            //alert(name);
        }
        person();//指向window
       // person('joy')*/
        //(2)对象调用
        var name = 'lpen';
        var age = 27;
        var stu = {
            name:'joy',
            age:23,
            student:function () {
                alert(this.name);
                alert(this.age);
            }
        };
       stu.student();//指向stu


        //(3)call/apply
        var name = 'lpen';
        var age = 27;
        var stu = {
            name:'joy',
            age:23
        };
        function student() {
            alert(this.name);
            alert(this.age);
        }
        //student.call(stu,'lisi',22);//指向stu
        student.apply(stu,['lisi',23]);//指向stu
       // call("在其中运行函数的作用域","函数列表")
        //apply("在其中运行函数的作用域","函数数组")
        //总结:这两个方法的作用都是在特定的作用域中调用函数,实际上等于设置函数内部属性this的值

        //(4)new来调用
        function Person(name,age) {
            this.name = name;
            this.age = age;
            this.sayHello = function () {
                alert(this.name);
            }
        }
        var p1 = new Person('joy',23);
        p1.sayHello();//this指向实例p1

 

© 著作权归作者所有

YJ_

YJ_

粉丝 9
博文 117
码字总数 88993
作品 0
昌平
前端工程师
私信 提问
asp.net中调用javascript自定义函数的方法(包括引入JavaScript文件)总结

通常javascript代码可以与HTML标签一起直接放在前端页面中,但如果JS代码多的话一方面不利于维护,另一方面也对搜索引擎不友好,因为页面因此而变得臃肿;所以一般有良好开发习惯的程序员都会...

黄献
2012/11/04
970
0
V8引擎扩展的方式 实现cef C++ js交互

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/shuilan0066/article/details/96857363 交互方法,使用V8引擎扩展的方...

夜雨朝露
07/22
0
0
JS异步编程之callback

为什么 JS 是单线程? 众所周知,Javascript 语言的执行环境是"单线程"(single thread)。 所谓"单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执...

南波
02/17
0
0
C#代码与javaScript函数的相互调用

问: 1.如何在JavaScript访问C#函数? 2.如何在JavaScript访问C#变量? 3.如何在C#中访问JavaScript的已有变量? 4.如何在C#中访问JavaScript函数? 问题1答案如下: javaScript函数中执行C#代码...

孟宪迎
2009/12/27
174
0
React Native Android 源码分析之启动过程

前言 这篇开始将分析 React Native 是在 Android 端的启动过程是怎么样。 用过 React Native 的小伙伴都知道,React Native 是可以使用 JS 来编写一份代码,并可以同时跑在 Android 和 iOS ...

骑摩托马斯
2018/07/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

PhotoShop 色调:理解直方图/RGB通道信息

一、直方图:图表的形式,展示图像像素分布的情况 1.平均值:表示平均亮度 2.标准偏差值:表示亮度值范围内的中间值 3.像素: 表示用于计算直方图的像素总数 4.色阶:显示指针下面的区域亮度...

东方墨天
17分钟前
5
0
wildfly(JBoss AS)应用服务器快速入门

什么是wildfly JBoss AS 从8版本起名为wildfly。Wildfly是一个开源的基于JavaEE的轻量级应用服务器。可以在任何商业应用中免费使用。 WildFly是一个灵活的、轻量的、强大管理能力的应用程序服...

程序新视界
42分钟前
3
0
Java集合类常见面试知识点总结

Java集合类学习总结 这篇总结是基于之前博客内容的一个整理和回顾。 这里先简单地总结一下,更多详细内容请参考我的专栏:深入浅出Java核心技术 https://blog.csdn.net/column/details/21930...

Java技术江湖
45分钟前
6
0
怎么用for循环打出爱心

先上效果图: 这是用*组成的爱心,下面讲讲思路: 首先这个图形可以拆分成三部分:第一部分是上面三行的两个梯形,第二部分是中间三行的长方形,第三部分是最下面的倒三角形。 其实图形拆分好...

INEVITABLE
51分钟前
4
0
用HttpUrlConnection伪造成HttpClient

https://www.jianshu.com/p/27ad06cc39d2

shzwork
56分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部