JavaScript Patterns 1 Introduction

1.1 Pattern

"theme of recurring events or objects… it can be a template or model which can be used to generate things" (http://en.wikipedia.org/wiki/Pattern).

• Design patterns - Elements of Reusable Object-Oriented Software.

• Coding patterns - JavaScript-specific patterns and good practices related to the unique features of the language, such as the various uses of functions.

• Antipatterns - An antipattern is not the same as a bug or a coding error; it's just a common approach that causes more problems than it solves.

1.2 JavaScript: Concepts

None-Objects: Primitive types - number, string, boolean, null, and undefined  

1.2.1 Object- Oriented

Activation Object which is a global object which has attributes.  

Object: a collection of named properties, a list of key-value pairs. Some properties could be functions.  

Objects types

  1. Native

    Described in the ECMAScript standard

  2. Host

    Defined by the host environment (for example, the browser environment, e.g. window and all the DOM object) .  

Objects can also be categorized by:

  1. Build-in (e.g. Array, Date).
  2. User-defined (e.g. var o ={}).

   

1.2.2 No Classes

There are no long parent-child inheritance chains.

There are no classes and object composition is what you do anyway.  

1.2.3 Prototypes

prototype is an object (not a class or anything special) and every function has a prototype property.  

1.2.4 Environment

  1. Browser patterns
  2. Practical applications of a pattern

1.3 ECMAScript 5

Strict mode - for backward compatible.

function my() {

"use strict";

// rest of the function...

}

This means the code in the function is executed in the strict subset of the language. For older browsers this is just a string not assigned to any variable, so it's not used, and yet it's not an error.  

In this sense ES5 is a transitional version—developers are encouraged, but not forced, to write code that works in strict mode.  

 

Principle on writing code under strict mode

• Ensuring the offered code samples will not raise errors in strict mode

• Avoiding and pointing out deprecated constructs such as arguments.callee

• Calling out ES3 patterns that have ES5 built-in equivalents such as Object.create()

   

1.4 JSLint - A kind of tool for grammar check.

1.5 The console - fire bug

转载于:https://www.cnblogs.com/haokaibo/p/introduction.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258612.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于像素聚类的分割方法基于slic的方法_博士论文摘要 | 张荣春:数码影像与TLS点云数据融合提取地质结构面方法研究...

《测绘学报》构建与学术的桥梁 拉近与权威的距离数码影像与TLS点云数据融合提取地质结构面方法研究张荣春1,21.南京邮电大学地理与生物信息学院, 江苏 南京 210023;2.河海大学地球科学与工程学院, 江苏 南京 211100收稿日期:2019-03-27基金项目:国家自然…

制作IOS 后台极光推送时,遇到的小问题

推送广义上分为两种, 一种是 程序在前台的时候,不想在任务栏里面显示通知,直接在app中进行某种操作。这个叫做自定义消息。这个是在前台时,app与极光后台建立了一个长链接。 另一种是 程序处于前、后台 或者杀死状态的时候&…

Visual Studio 2008 环境变量的配置(参考设置VS2010)

本文转载自:http://blog.csdn.net/tracyliang223/article/details/21539361COPY FROM:http://www.cnblogs.com/waterlin/archive/2011/10/31/2230341.html 在调试 Visual Studio 2008 程序时,经常有一些动态链接库(即 dll 文件&am…

Linq 中 Any与All

昨天突然看到之前写的一个积累文档&#xff0c;其中文档中有一个Linq Any和All的注意事项&#xff1a;注意Any 和 All var list new List<int>(); var aa list.All(n > n > 1); var bb list.Any(n > n > 1); // aa: true bb: false其中List是一个元…

jaxb转xml空值双标签_单品运营思维:标签-词路-聚焦-直搜-超直

非标品标签思维&#xff1a;针对非标品 主要是2.0为主的打法根据搜索入池的关键词&#xff0c;有什么词做什么词。有个细节&#xff1a;不一定进什么词做什么词&#xff0c;这个维度当中加入3.0的思维3.0入手 转2.0再切3.0(检测词路健康度&#xff0c;非严格意义估算单量)举例&…

如何在PFSense中设置故障转移和负载平衡

故障转移是一种备份操作模式&#xff0c;仅在主系统由于系统故障或任何计划停机时间而变得不可用时&#xff0c;系统组件&#xff08;如网络&#xff09;的操作才由辅助系统承担。在本教程中&#xff0c;我们将看到如何设置故障转移和负载平衡&#xff0c;以使pfSense能够将流量…

图像金字塔总结

本文转载自&#xff1a; http://blog.csdn.net/dcrmg/article/details/52561656 一、 图像金字塔 图像金字塔是一种以多分辨率来解释图像的结构&#xff0c;通过对原始图像进行多尺度像素采样的方式&#xff0c;生成N个不同分辨率的图像。把具有最高级别分辨率的图像放在底部…

表单的get和post使用情景

GET和POST两种方法都是将数据送到服务器&#xff0c;但你该用哪一种呢&#xff1f;HTTP标准包含这两种方法是为了达到不同的目的。POST用于创建资源&#xff0c;资源的内容会被编入HTTP请示的内容中。例如&#xff0c;处理订货表单、在数据库中加入新数据行等。 当请求无副作用…

什么叫做罗列式_项目起盘的时候,如何确定自己该做什么社群?

这是祁杰『社群日记』第48篇持续日更&#xff0c;做最懂社群的营销咨询人很多人手上有资源&#xff0c;准备起盘项目的时候&#xff0c;总会思考一个问题&#xff1a;我能做什么样的社群&#xff1f;今天我们从用户需求出发&#xff0c;拆解一下哪些社群是能够确切地满足用户的…

C++ exit 与 return 浅析

【摘要】 本文从代码形式。经常使用方式&#xff0c;相关概念&#xff0c;调用关系和比較分析&#xff0c;这5个维度浅析 exit 与 return 在C的同样点与差别。【常见形式】 exit(0)&#xff1a; 正常执行程序并退出程序。 exit(1)&#xff1a; 非正常执行导致退出程序&…

Feature Pyramid Networks for Object Detection 总结

最近在阅读FPN for object detection,看了网上的很多资料&#xff0c;有些认识是有问题的&#xff0c;当然有些很有价值。下面我自己总结了一下&#xff0c;以供参考。 1. FPN解决了什么问题&#xff1f; 答&#xff1a; 在以往的faster rcnn进行目标检测时&#xff0c;无论…

最近工作

最近的工作忙且乱&#xff0c;以至于&#xff0c;我第天早晨早早起来到晚上11点多才能回到家。今天早晨写代码的时候腰突然猛疼&#xff0c;疼的我直叫唤。躺在床上半天起不来。 最近每天的工作要计划一下了&#xff0c;不能客户说干嘛就干嘛&#xff0c;这样累坏了自己&#x…

LeetCode OJ - Candy

题目&#xff1a; There are N children standing in a line. Each child is assigned a rating value. You are giving candies to these children subjected to the following requirements: Each child must have at least one candy.Children with a higher rating get mor…

那些 IT 界的神翻译,原来我学不好编程的原因就在这

近日博主 ruanyf 在网上发布了一条关于套接字“socket”的解释&#xff0c;引发了网友对于那些 IT 界的神翻译的讨论&#xff1a; 突然想到&#xff0c;socket就是插座。服务器的socket&#xff0c;就是服务器提供插座&#xff0c;等着客户端的插头插进来。一旦插入完成&#x…

navicat 结构同步会加锁吗_被柜员怠慢的张小波,真的会永久地转走几个亿的结构性存款吗?...

4月7日下午&#xff0c;北京凤凰联动文化传媒有限公司总裁张小波发布微博称&#xff0c;前几天去安贞附近一银行&#xff0c;想把借记卡的转帐额度从每天五百万上调一下&#xff0c;没有想到&#xff0c;在其问到“最高可调到多少”时&#xff0c;柜员回答一个亿并“鄙夷地看了…

Mask RCNN笔记

mask rcnn简介 mask rcnn是何凯明基于以往的faster rcnn架构提出的新的卷积网络&#xff0c;一举完成了object instance segmentation. 该方法在有效地目标的同时完成了高质量的语义分割。 文章的主要思路就是把原有的Faster-RCNN进行扩展&#xff0c;添加一个分支使用现有的检…

IOS开发之----常用函数和常数--秀清

介绍一下Objective-c常用的函数&#xff0c;常数变量 算术函数 【算术函数】函数名说明int rand()随机数生成。&#xff08;例&#xff09;srand(time(nil)); //随机数初期化int val rand()P; //0&#xff5e;49之间的随机数int abs(int a)整数的绝对值&#xff08;例&#…

网页设计中常用的19个Web安全字体

来自http://www.jb51.net 在Web编码中&#xff0c;CSS默认应用的Web字体是有限的&#xff0c;虽然在新版本的CSS3&#xff0c;我们可以通过新增的font-face属性来引入特殊的浏览器加载字体。但多数情况下&#xff0c;考虑各个因素的影响我们还是在尽量充分利用这些默认调用的字…

python slice是共享内存吗_python共享内存实现进程通信

1.概述共享内存可以说是最有用的进程间通信方式.两个不同的进程共享内存的意思是:同一块物理内存被映射到两个进程的各自的进程地址空间.一个进程可以及时看到另一个进程对共享内存的更新,反之亦然.采用共享内存通信的一个显而易见的好处效率高,因为进程可以直接读写内存,而不需…

FCN-数据篇

从本篇开始&#xff0c;我们来记录一下全卷积网络用来做语义分割的全过程。 代码&#xff1a;https://github.com/shelhamer/fcn.berkeleyvision.org 下面我们将描述三方面的内容&#xff1a; 1. 官方提供的公开数据集 2. 自己的数据集如何准备&#xff0c;主要是如何标注…