8
回答
js面向对象应用场景,哪个大神能举个例子把面向过程变成面向对象的例子
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   
一直以来用面向过程写js 或者 jq,完全不知道 面向对象应用场景,,求大神帮助 
举报
奥巴码侬
发帖于3年前 8回/4K+阅
共有8个答案 最后回答: 3年前

面向过程:

var x = 0;

var call = function(){

    alert(x);

};

call();

面向对象:

var Caller = function(){
    this.call = function(){
        alert(this.x);
    };
};
var caller = new Caller();
caller.x = 0;
caller.call();






--- 共有 1 条评论 ---
奥巴码侬还是你的例子简单明了,多谢! 3年前 回复

说明你不懂数据结构嘛!没有什么面向过程和面向对象的场景之分。


面向过程和函数式才是同一个层面的东西,面向对象在许多方式上都是面向过程的。

x = 1; 就是面向过程的

return 1; 就是函数式的


许多多范式编程会混合,在函数内部过程使用面向过程,而在最后return达到函数式。


面向对象用于组装数据集,一个容器分阶段的装载内容还是有些价值的,除此之外都是滥用。涉及到计算,函数才是解决问题的唯一有效的办法。


在做解析计算的时候,尤其体现函数式的有效:

send(serialize, sum(map(deep, [1,2,3,5,6])));


在做容器组装的时候,面向对象是比较方便的

Model('a', 'b')

.use('A', handler_a)

.use('B', handler_b)

.use('C', handler_c)


所以,我常说,Java是个落后到渣的语言,只有不懂编程的人才喜欢用ta。

--- 共有 1 条评论 ---
首席缺陷修复工程师你的逻辑真强大 3年前 回复

学过java面向对象语言的同学都知道,方法(函数function)就是面向对象,例如可以创建一个ajax.js,里面存放请求代码,其他js文件,就直接调用ajax.js中的方法,就不用每一个都写一次。

写一个实例吧 用 Jquery包了

如果要控制效果可以创建  effect.js

在编辑框,点击了代码,打了半天,点提交没有出来,不知道怎么用了,实例被osc吃了,没办法了


还有上面的同学说java是不懂程序的人才用,说的有点不妥,java是封装了很多方法,但这些方法都是对java非常精通的人些的,也是优秀的代码,大家用的框架、插件都是别人封装过的,和java这种情况只能五十步笑百步,而且每种语言的作用都不一样,后台需要高频发、安全性、非堵塞特性的语言;游戏需要对硬件操作更顺畅的语言;

好好想想自己有什么代码是可以封装到一个函数,并可以被充分重复用的。

这个函数就是js里面的类,也就是逻辑或事物的一个封装。

试着把自己的代码分解(耦合)成一个个独立的类试试。

再理解一下继承,多态,封装。

对象只是类的某一个实例的范称,明白了类再去明白什么是面向对象就好理解了。


--- 共有 1 条评论 ---
奥巴码侬有没有个具体 js代码的例子啊 3年前 回复
顶部