开拓很疯狂,更值得尝试

举个栗子

咱俩用面向对象编制程序,达成一个企图矩形周长的事例。

JavaScript

function Rectangle(x, y) { this.x = x; this.y = y; } Rectangle.prototype.perimeter = function() { return 2 * (this.x + this.y); } var rect = new Rectangle(1, 2); console.log(rect.perimeter()); // outputs '6'

1
2
3
4
5
6
7
8
9
10
11
function Rectangle(x, y) {
    this.x = x;
    this.y = y;
}
 
Rectangle.prototype.perimeter = function() {
    return 2 * (this.x + this.y);
}
 
var rect = new Rectangle(1, 2);
console.log(rect.perimeter()); // outputs '6'

先是,大家定义构造函数 Rectangle。 依据规范,大家大写构造函数名首字母,注解它能够用 new 调用,以示与任何常规函数的区分。构造函数自动将 this 赋值为一空对象,然后代码中用 xy 属性填充它,以备后用。

然后, Rectangle.prototype 新扩大二个通过 xy 属性总结周长成员函数。 注意 this 的使用,在区别的对象中,this 会有差异的值,这个代码都得以健康办事。

末段, 贰个名字为 rect 的靶子创制出来了。 它继续了 Rectangle.prototype, 大家能够调用 rect.perimeter(), 然后将结果打字与印刷到调整台。

为啥做 JS 开采很疯狂???

2016/06/08 · JavaScript · 2 评论 · 开发

本文由 伯乐在线 - 小谢 翻译,cotton 校稿。未经许可,制止转发!
乌克兰语出处:sfioritto。应接加入翻译组。

Web开采时很风趣的~可是Javascript确是……令人生畏的。

Web开辟中别的一切对您来讲都以很简短的,不过当你深刻研究Javascript的时候,就能够有一种“公众皆醒你独醉”的感到到,好像你不明了别的人都领悟的一些第一的基础知识内容,并且这一个内容能够帮忙你驾驭有所知识。

谜底是,的确如此,你遗漏了一部分解决难题的入眼部分。

并且,前端开拓确实已经进来了疯狂的意况了。

不然则你。

拉过一把交椅,坐下来。是到起来写Javascript应用的时日了。

先是步是搭建本地开垦条件并跑通它。那么是采取 Gulp?照旧Grunt?等等,好……好像还应该有 NPM script!

WebPACK?依然 Browserify? (羞涩的)Require.js?晋级到 ES6?恐怕为你的项目增进 Babel 援助?

BDD 依旧健康的单元测验?应该采用什么断言框架?从命令行运维测量试验分明很棒,所以 PhantomJS 也是科学的抉择?

Angular 还是 React?还是 Ember?再或者 Backbone?

你看了一部分 React 文书档案,“Redux 是一种为 Javascript 应用提供的可预测状态的器皿。”酷毙了!你早晚须要中间的贰个。

为何创设 Javascript 应用会那样疯狂?!?

让自家来报告你为啥这一体是如此疯狂。让我们从一个例证开端,后边会有优质的图形。

这是 React 的“Hello, world!”应用。

JavaScript

// main.js var React = require('react'); var ReactDOM = require('react-dom'); ReactDOM.render( <h1>Hello, world!</h1>, document.getElementById('example') );

1
2
3
4
5
6
7
8
// main.js
var React = require('react');
var ReactDOM = require('react-dom');
 
ReactDOM.render(
  <h1>Hello, world!</h1>,
  document.getElementById('example')
  );

Not quite done. 不仅这几个。

Shell

$ npm install --save react react-dom babelify babel-preset-react $ browserify -t [ babelify --presets [ react ] ] main.js -o bundle.js

1
2
$ npm install --save react react-dom babelify babel-preset-react
$ browserify -t [ babelify --presets [ react ] ] main.js -o bundle.js

骨子里这里还缺了多少个步骤,比方设置 browserify,以及在您做好之后还要让它运维在网页上,因为这实质上不会一贯发生一个能有啥样内容的网页。 ¯ (ツ)

在达成那一个之后,你最后还索要二个名叫 bundle.js 的文件,那个文件包罗新的 React Hello World 应用程序,这一个程序有 一九三九4 行代码。而你只须求设置 browserify、babelify 和 react-dom 就能够,它们会帮你生成不计其数行的你不打听的代码,想想呢。

故此基本上是像上面那样的:

JavaScript

Marc was almost ready to implement his "hello world" React app pic.twitter.com/ptdg4yteF1 — Thomas Fuchs (@thomasfuchs) March 12, 2016

1
2
3
Marc was almost ready to implement his "hello world" React app pic.twitter.com/ptdg4yteF1
— Thomas Fuchs (@thomasfuchs) March 12, 2016
 

好,上边就让大家用简短的 Javascipt 代码写四个 Hello World 应用。

XHTML

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width" /> <title>Hello World</title> </head> <body> <div id="container"></div> <script> document.body.onload = function(){ var container = document.getElementById("container"); container.innerHTML = '<h1>"Hello, world!"</h1>'; } </script> </body> </html>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
    <title>Hello World</title>
  </head>
 
  <body>
    <div id="container"></div>
    <script>
     document.body.onload = function(){
       var container = document.getElementById("container");
       container.innerHTML = '<h1>"Hello, world!"</h1>';
     }
    </script>
  </body>
  </html>

那就成了。一共 18 行代码。你可以复制/粘贴到 index.html 文件中,双击把它加载到您的浏览器中。消除。

此刻您早晚会说:“等等,React 能做的业务比你刚刚写的那个小玩意儿越来越多,况且你不容许用这种办法写三个Javascript 应用!”(大多数意况下)你是对的,但你还索要走一小步才干知晓为何一切都疯了。

上边是自己承诺过的图纸。

图片 1

大部您付出的Javascript web应用程序,会落在钟形曲线中部的有些地方。一定会在中等有个别,如若您从三个总体的 React 饭馆起首,那么从一齐头你就过度设计了您的应用程序。

那便是为啥一切都变得疯狂。当中的大部工具你以为是您消除难题所必得具有的,可是你一贯尚未谋面这么的标题,并且其后你世代也不会遇到

平等张图纸:

图片 2

因为在暗中同意景况下,各类人都过度设计他们的运用,他们却开掘不到那一点,使得 Javascript 的支付意况变得过度繁冗。

你应该怎样运营 Javascript 应用程序呢?是或不是应当利用一些好像 React 或 Angular 的工具?是不是合宜采用软件包管理器?借使您不这么做,你应当做如何?测验有不能缺少吗?是还是不是应当用 Javascript 生成标识?全体那几个都是你应该好好问问本人的标题,在运维暗中同意的宏大的手艺酒馆从前。

当您运营贰个 Javascript 应用程序时,关键是要在钟形曲线上挑多个点,那些点刚刚位于你感到那个利用最后大概会到达的复杂程度的近日。

自身不会撒谎,验证那全部供给经验。可是此地有三个确实无疑的点可以让您运维大多数的 Javascript 应用程序:jQuery 加上客商端模板,以及用于连接和压缩产品文件顶尖不难的塑造筑工程具(假如你的后端架构还向来不那样做的话)。

若果您知道怎么正确地营造 Javascript 应用程序,那么你就能够开头通晓怎么着、何时以及为啥使用框架或 npm/requir/webPack 或 ES6,何时编写测量检验,几时理应费心令你的测量检验本地运行,哪一天运营在浏览器中,全部那些主题素材都会化解。

风野趣用你的 Javascript 开辟文化互补那多少个空白?想要防止不堪重负的以为?想要幸免在那么些开拓进度中过度设计你的 Javascript 应用程序?那是本身前些日子将要静心研商的剧情,所以,敬请期望,在一两周后会有越来越多干货到来!

打赏支持本身翻译越多好文章,谢谢!

打赏译者

前端程序员面试题汇总

2016/06/24 · 前端职场 · 3 评论 · CSS, HTML5, Javascript

最初的作品出处: @markyun   

JavaScript 开荒者:最欢快 React,Vue.js 比 Angular 更值得尝试

2017/12/18 · JavaScript · 开发

原稿出处: stateofjs   译文出处:oschina/达尔文   

图片 3

State Of JavaScript 2017 考查结果已经出炉。作者对广大 JavaScript 开采者实行了考察,以了然今后前端开辟者对前边三个种种技能栈、框架的行使状态与思想。

根据 10 月份的 State of the Octoverse 2017 报告,在存活的 337 种开荒语言中,JavaScript 如故是 GitHubbers 的最爱。JavaScript 的生态系统一年比一年增加,尽管是最有经历的开拓人士,在各种阶段思量可用的过多选项时,也会变得支支吾吾不决。

Stack Overflow 不久前做的本领方向剖判展现,部分 JavaScript 的技术成员向来展现“持续进步”的大方向,如:Angular,TypeScript 和 Meteor。

图片 4

 angular按需加载:$ocLazyLoad

供给3个步骤,就足以兑现按需加载的方案。

第1步:bower install oclazyload

第2步:$ocLazyLoad封装:

图片 5

第3步:ui-router 路由安顿:

图片 6

此方案完毕了,template 和 controller 的公文按需加载。此时去访问页面就能够见到作用了。

 

效果Gif演示:

图片 7

 

驾驭JavaScript的原型属性

2016/06/21 · JavaScript · 2 评论 · 原型

本文由 伯乐在线 - alvendarthy 翻译,sunshinebuel 校稿。未经许可,禁止转发!
德文出处:bytearcher。款待参预翻译组开拓很疯狂,更值得尝试。。

理解 JavaScript 的prototype性情不太轻松。你恐怕知道它同面向对象编程(OOP)和对象承袭有关,但不至于对其技巧原理极其领悟。

有关小编:小谢

图片 8

懒懒的程序员~ 个人主页 · 笔者的著作 · 24 ·  

图片 9

HTML

  • Doctype成效?严苛方式与混杂形式怎么着区分?它们有什么意义?
  • HTML5 为何只须要写 <!DOCTYPE HTML>?
  • 行内成分有哪些?块级成分有何样? 空(void)成分有那贰个?
  • 页面导入样式时,使用link和@import有哪些界别?
  • 介绍一下您对浏览器内核的接头?
  • 周围的浏览器内核有哪些?
  • html5有如何新特点、移除了那二个成分?如哪个地方理HTML5新标签的浏览器包容难题?怎样区分 HTML 和 HTML5?
  • 简述一下你对HTML语义化的知情?
  • HTML5的离线累积怎么使用,职业规律能否解释一下?
  • 浏览器是怎么对HTML5的离线积累能源开展管制和加载的吧?
  • 请描述一下 cookies,sessionStorage 和 localStorage 的不一样?
  • iframe有那个劣点?
  • Label的成效是怎么?是怎么用的?(加 for 或 包裹)
  • HTML5的form怎么样关闭自动实现作用?
  • 如何落到实处浏览器内三个标签页之间的通讯? (阿里)
  • webSocket怎样同盟低浏览器?(Ali)
  • 页面可知性(Page Visibility)API 可以有怎么样用途?
  • 何以在页面上贯彻三个圆形的可点击区域?
  • 兑现不接纳 border 画出1px高的线,在不一样浏览器的Quirksmode和CSSCompat方式下都能保全同等效果。
  • 网页验证码是干嘛的,是为着消除哪些安全难题?
  • tite与h1的区别、b与strong的区别、i与em的区别?

State Of JavaScript 2017 考查结果

爱怜度调查

图片 10

结果展现,有面临 9K 的被调查者表示听过 TypeScript ,并筹算学学看。在那之中最受接待的是 ES6,抢先2万的客户表示用过,并还会再三再四用或重新使用。

前端开辟

图片 11

在对前边一个框架使用状态进行调查研商时,出现了二个很有趣的场馆:大多接待上访表示不曾应用过前端框架!

在运用过前端框架的接受新闻报道人员中,React 的使用率是参天的,有 14K 的人接纳过并代表会另行行使。

除此之外,Vue.js 的好评度同期超过了 Angular 1 和 2,有 12K 的接受新闻报道工作者都表示计划攻读 Vue.js,根据那么些样子,明年最受应接的前端框架正是Vue.js 也也许呢。

场地管理工具

图片 12

聊到状态管理工科具的运用情况,REST API 不容置疑摘得桂冠,帮忙者达到了 21K,接着是 Redux 和 Firebase。 GraphQL 令人回想深远,有 14K 的接受访谈者表示会试一试,那意味着2018年的结果可能会迥然分化。

后端开采

图片 13

依据上边提到的 Stack Overflow 的结果,Meteor 依旧挺有名的,但就好像从未给此番的受访者留下长远的记念。本次排行,Meteor 排在了 Express 和 Koa 的前面,位列第三。

测试

图片 14

CSS

图片 15

其他

图片 16

越多考察内容请查看:这里

1 赞 收藏 评论

图片 17

Angular 和 Vue 按需加载的门类实践优化方案

2016/07/12 · JavaScript · 前端框架

正文笔者: 伯乐在线 - 新空气 。未经笔者许可,禁绝转发!
接待参加伯乐在线 专辑撰稿人。

本着前面三个优化的点有这么些,比如:图片压缩,Pepsi-Cola图,js/css/html 文件的削减合併,  cdn缓存, 收缩重定向, 按需加载 等等

新近有考虑针对 ionic项目 和 vue项目,做一个相当的大的优化,做成按需加载(也正是无诉求不加载),此刻笔者心目是最最激动的。

推荐介绍看的按需加载的小说:

angular 按需加载 相关著作:

1:  

2:  

vue 按需加载  相关小说:

1: http://cn.vuejs.org/guide/components.html#异步组件

2: 

-----------------------------------------------------------

今天就对准,按需加载(也正是无央求不加载),分别交付一些其实项目经验的方案:

angular 按需加载方案:$ocLazyLoad

vue 按需加载方案:require([异步加载的零部件], resolve)

 

本文由445云顶国际在线娱乐发布于云顶集团手机登录网站,转载请注明出处:开拓很疯狂,更值得尝试

相关阅读