web前端开发中关于面向对象(二)

news/2024/11/2 4:16:13 标签: 函数, web前端开发, 面向对象

各种语言中,面向对象中不可缺少的亦是核心的自然是函数,且该函数不是普通的函数,而是构造函数,是通过关键字new进行实例化出来的。因此,函数的重要性显而易见,故而简单说一说函数
一、函数的产生方式
1、通过函数声明产生:

    function 函数(参数:可有可无){
        代码块;
        return 1;//返回值,可有可无
    }

2、通过函数表达式产生:

    var fn=function(参数:可有可无){
            代码块;
            return 1;//返回值,可有可无
    }

3、通过构造函数产生:

      var fn=new Function("参数1","参数2",...,"代码块");

4、系统提供的函数:
Object、Arrary、String、Number、Data、Function、Boolean…
注意:Math不是函数,是对象
二、函数的调用方式
1、通过普通函数的调用:
注意:ES3中,普通函数中的this为window,ES5严格模式下,普通函数中的this为undefined,因此在普通函数中不推荐使用this,因在不同模式下this的指向不同。
2、通过对象上的方法调用:例:Obj.fn(),其中this指向调用方法的对象
3、通过构造函数调用
4、通过call、apply调用:call、apply可改变this的指向,只是传参的方式不同。例:obj.fn.call(obj1),表示将this指向obj1。还有一种方式为bind,bind也可改变this的指向,但不执行函数,且在IE6、7、8不兼容。
三、高阶函数
1、作为参数的函数:常见于ajax的回调函数
例:

    function fn(function(){
        ...
    }

2、作为返回值的函数

    function fn(){
        return function(){
       ...
    }

面向对象的思想简单的来说便是将一个个小功能模块化,每一个模块由一个构造函数来完成实现,再将这些小功能联系运用便可实现一个大功能。


http://www.niftyadmin.cn/n/1202839.html

相关文章

Linux计划任务, yum源配置, 用户, sudo, 权限, 软连接, PS1, 压缩, kill, ps, 防火墙

计划任务crond服务 1 查看计划任务的执行:tail -f /var/log/cron2 写计划任务时,命令必须加上绝对路径,否则会出现这种情况:从日志中看,确实触发了计划任务的执行,但是命令却没有执行成功,比如*…

web前端开发中关于面向对象(三)

在面向对象前篇中提到过原型的概念,说到原型,便又延伸出了关于原型的一个知识点——原型链。也许作为一名专业的前端开发人员来说,明白原型链的含义以及用法,但对于前端的爱好者和在校大学生而言,对于原型链的概念可能…

window的渊源、发展过程、趋势

1985 年11月20日,微软发布 Windows 1.0,借助这款不太成熟的图形操作系统,用户可以使用鼠标完成任务,而无需键入 MS DOS 命令。这一版本附带了若干个应用程序,例如 MS?DOS 文件管理、画图、Windows 编写器、…

poj1611(并查集简单应用)

题目链接:http://poj.org/problem?id1611 思路: 显然是一个并查集的题,很简单,只要将一个group中的学生并在一起,最后遍历1到n-1,看有多少学生的祖先与0的祖先相等即可。 代码如下: 1 #include…

web前端开发中关于面向对象(四)

原型继承存在的两个问题今天就来和大家学习一下。学习之前先再一次说一说原型继承存在的两个问题。1、无法在不影响所有实例的情况下,给要继承的构造函数传参2、继承的构造函数中的引用类型对于所有的实例是共享的那么,该如何解决这两个问题呢&#xff1…

js----script 的 defer属性 和 async 属性

参考 https://segmentfault.com/a/1190000006778717 defer && async 共同点 1.都用于改变处理脚本的行为2.这两个属性都会使script标签异步加载,然而执行的时机是不一样的 defer 推迟 1.脚本会被延迟到整个页面都解析完毕后再运行2.相当于告诉浏览器立即下载…

关于canvas

canvas是h5的标签,该标签定义图形,比如图表和其他图像。该标签是行级元素。标签只是图形容器,必须使用脚本来绘制图形。canvas标签是h5新增的标签,对于很多浏览器都具有兼容性,虽然具有兼容性,但通过canvas…

Webpack 4教程:为什么要优化代码

2019独角兽企业重金招聘Python工程师标准>>> 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 原文出处:https://wanago.io/2018/07/30/webpack-4-course-part-five-built-…