Java Script after Douglas Crockford's Training (JSON father)
有幸能参加大牛的培训,学到了很多东西,下面总结一下:
1.总的思想是每一门语言都有好有坏,我们要通过好的代码规范和其他一些方式去避免使用糟糠的那一部分。JS有很多缺点,但是也有很多优点,我们就用他的优点就够了,不要去把他的缺点的部分加到你的代码里
2.每一个Object 就是一个动态属性的集合。Object里每个属性都有一个唯一的Key。可以看作是HashMap
3.JS中所有都是对象除了(null and undefined)
创建对象的方式:
•var my_object = {foo: bar};
•var my_object = Object.defineProperties(
Object.create(Object.prototype), {
foo: {
value: bar,
writeable: true,
enumerable: true,
configurable: true
}
});
4.获得一个Object的attribute有两种方式(类似 set and delete)
•get
object.name
object[expression](这种方式避免使用,防止注入攻击)
object.name = value;
object[expression] = value;
delete object.name
delete object[expression]
5.prototypes
•可以创建一个你想要的Object
•可以继承其他对象
•Customize 自己的对象
6.JS里面的类型(除了Object)
7.分清楚== 和=== 的区别,推荐是用===
8.NaN
•不是数字
•是undefined 或者 erroneous 的 运行结果
•NaN equals nothing
9.Arrays
。。。。。。待续
Java Script after Douglas Crockford's Training (JSON father)的更多相关文章
- JavaScript: 世界上最被误解的语言|Douglas Crockford
JavaScript: 世界上最被误解的语言 JavaScript: The Wrrrld's Most Misunderstood Programming Language Douglas Croc ...
- Java Script 编码规范【转】
Java Script 编码规范 以下文档大多来自: Google JavaScript 编码规范指南 Idiomatic 风格 参考规范 ECMAScript 5.1 注解版 EcmaScript ...
- Java script 看看黑客怎么写的
在2011年的BlackHat DC 2011大会上Ryan Barnett给出了一段关于XSS的示例java script 代码: ($=[$=[ ] ] [(__=!$+$)[_=-~-~-~$] ...
- Atitit 纯java项目的提升进度大法---通用json dsl接口
Atitit 纯java项目的提升进度大法---通用json dsl接口 1. Json dsl接口1 1.1. Url: http://aaa.com/api_jsondsl?dsl={}1 1. ...
- 【AngularJS学习笔记】Java Script "use strict" 严格模式
---恢复内容开始--- 学习Angular的时候,发现好多优秀的源码中,JS文件的最上面,都会写上"use strict"; 这几个字符,搜了一下,找到一篇比较不错的文章,抄过来 ...
- java script第一篇(按钮全选的实现)
今天刚学了java script,记录下学习新知识的点滴.以下是操作步骤.鉴于我是初级者,如有错误,恳请读者指正.万分谢谢. 1.新建一个文档(用NotePad软件,为了使得在浏览器中打开不是乱码,在 ...
- JAVA 根据数据库表内容生产树结构JSON数据
1.利用场景 组织机构树,通常会有组织机构表,其中有code(代码),pcode(上级代码),name(组织名称)等字段 2.构造数据(以下数据并不是组织机构数据,而纯属本人胡编乱造的数据) List ...
- Java script基础
Java script基础 Js的每个语句后面都要有分号. <script type="text/java script">所有JS内容</script> ...
- Java Script 中 ==(Equal) 和 === (Identity Equal) 的区别和比较算法逻辑
判断两个变量是否相等在任何编程语言中都是非常重要的功能. JavaScript 提供了 == 和 === 两种判断两个变量是否相等的运算符,但我们开始学习的时候 JavaScript 的时候,就被一遍 ...
随机推荐
- 找出程序cpu使用率高的原因
确定是CPU过高 使用top观察是否存在CPU使用率过高现象 找出线程 对CPU使用率过高的进程的所有线程进行排序 ps H -e -o pid,tid,pcpu,cmd --sort=pcpu |g ...
- c++内存中字节对齐问题详解
一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址 ...
- 【leetcode】Trapping Rain Water(hard)
Given n non-negative integers representing an elevation map where the width of each bar is 1, comput ...
- Android Activity的切换动画
Android的Activity切换有两种方法, 第一种是用代码方式实现: Activity A跳转到Activity B,要在startActivity(intent)后面加上overridePen ...
- php构造函数construct用法注意事项
<?php class A { //特别注意,这里的下划线为两个 function __construct() { echo "I am the constructor of A.&l ...
- 嵌入式开发之NorFlash 和NandFlash
http://blog.csdn.net/tigerjibo/article/details/9322035 [摘要]:作为一个嵌入式工程师,要对NorFlash 和NandFlash要有最起码的认知 ...
- ecos内核概览--bakayi译
http://blog.csdn.net/wangzaiwei2006/article/details/6453423
- C++ eof()函数相关应用技巧分享
C++编程语言中的很多功能在我们的实际应用中起着非常大的作用.比如在对文件文本的操作上,就可以用多种方式来实现.在这里我们介绍的C++ eof()函数就是其中一个比较常用的基本函数. 在使用C/C++ ...
- Android:控件GridView的使用
如果是列表(单列多行形式)的使用ListView,如果是多行多列网状形式的优先使用GridView. <?xml version="1.0" encoding="u ...
- Oracl 动态执行表不可访问,本会话的自动统计被禁止
oracle ---建立SQL窗体 写入 select * from tableA; 弹出错误窗口 : 动态执行表不可访问,本会话的自动统计被禁止.在执行菜单里你可以禁止统计,或在v$session, ...