javascript编程开发修炼之道

 

提要文摘附注: 本文的核心内容是围绕javascript前端开发的编程技术要素,来深入地探讨编写高质量的javascript代码的方法、技巧、规范和最佳实践,从而为编写易于维护的Web前端代码打下坚实的基础。

作者:贵源网络

1.javascript基础类库

2.创建静态对象 var obj = {}、window['obj']={};

3.创建实例对象 function fn(){} fn.prototype = {}

4.function对象自执行函数(function(){})()

5.判断对象类型 typeof(obj) == 'number|string|boolean|object|function|undefined'

6.JSON数据传输

7.数组与对象并用

8.ajax数据交互

9.创建common文件

10.类库特效开发

11.运算符与简化写法

12.cookie记录

13.url参数操作

14.正则表达示/expression/

15.扩展内置对象

______________________________________________________

http://www.36ria.com/demo/hover/demo.html

1.javascript基础类库

jQuery.js/jQuery.form.js/jQuery.cookie.js  JSON.js  FIS.js

2.创建静态对象 var obj = {}、window['obj']={} 、var obj=new Object();

创建对象:

以下结果等价

var obj = {}
obj.id =1

obj.name=‘sn’

window['obj']={}
obj.id =1

obj.name=’sn’

var obj = 
new Object()
obj.id =1

obj.name=’sn’

var obj = {

id:1,
 name:’sn’

}

window[‘obj’]={

id:1,
    name:’sn’

}

主要用途:定义全局变量、当做函数参数调用

3.创建实例对象
function fn(){} fn.prototype = {}

以下结果等价

function fn(){}
fn.prototype.get=function(){}

fn.prototype.set=function(){}

function fn(){}

fn.prototype={

get:function(){}
    set:function(){}

}

主要用途:复杂动能的实现

4.function对象自执行函数(function(){})()

以下结果等价

(function(){

})()

(function(){

}())

(function(){
}).call(this)

!function(){}
void function(){}

主要用途:复杂动能的实现

5.判断对象类型 typeof(obj) == 'number|string|boolean|object|function|undefined'

typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型。

它返回值是一个字符串,该字符串说明运算数的类型。


"undefined"——如果这个值未定义或未初始化时;


"boolean"——如果这个值是布尔值;


"string"——如果这个值是字符串;


"number"——如果这个值是数值,
1)true和false将分别被替换为1和0
2)如果是null值,返回0
3) 如果是undefined,返回NaN


"object"——如果这个值是对象或null;


"function"——如果这个值是函数;

6.JSON数据传输

JSON序列化和反序列化

JSON是“名值对”的集合。结构由大括号'{}',中括号'[]',逗号',',冒号':',双引号'“”'组成,包含的数据类型有Object,Number,Boolean,String,Array, NULL等。

7.数组与对象并用

8.ajax数据交互

//所有 AJAX 请求设置默认

jQuery.ajaxSetup({

dataType: "json",

type: "POST"

});

//当 AJAX 请求开始时,显示“加载中”的指示

jQuery(document).ajaxStart(function () {

jQuery.colorbox({

html: '<div id="loader"><img src="oading.gif"/><span>

正在提交请求...</span></div>',

opacity: 0.3,

overlayClose: false,

escKey: false,

close: ""

})

});

9.创建common文件

实现公共方法的文件,此部分可以由自己平时的积累得到或是知复制别人的代码;

10.类库特效开发

/* 1.键盘提交 */

var form = this.form =
$("#stepForm");

this.form.bind("keypress",
function(event) {

var
key_code = event.keyCode;

if(key_code
== "13" || key_code == 13) {

me.submit();

return
false

}

});

11.运算符与简化写法

12.cookie记录

jQuery.cookie.js

13.url参数操作

14.正则表达示/expression/

15.扩展内置对象

1)使用jQuery库扩展(Math、String、Array、Number)

jQuery.extend(Math, {})

2)扩展jQuery对象

jQuery.extend({});

3.对象合并

jQuery.extend(true, C, {})

jQuery.extend(C, {})

javascript编程思想的更多相关文章

  1. 淡扯javascript编程思想

    一.面向对象-OOD   虽然js面向对象的编程思想已经老话常谈了,但了为了文章的完整性,我还是把它加了进来,尽量以不太一样的方式讲述(虽然也没什么卵不一样的). 1.面向对象,首先得有类的概念,没有 ...

  2. 面向对象编程思想(前传)--你必须知道的javascript

    在写面向对象编程思想-设计模式中的js部分的时候发现很多基础知识不了解的话,是很难真正理解和读懂js面向对象的代码.为此,在这里先快速补上.然后继续我们的面向对象编程思想-设计模式. 什么是鸭子类型 ...

  3. 面向对象编程思想(前传)--你必须知道的javascript(转载)

    原文地址:http://www.cnblogs.com/zhaopei/p/6623460.html阅读目录   什么是鸭子类型 javascript的面向对象 封装 继承 多态 原型 this指向 ...

  4. Java编程思想 (1~10)

    [注:此博客旨在从<Java编程思想>这本书的目录结构上来检验自己的Java基础知识,只为笔记之用] 第一章 对象导论 1.万物皆对象2.程序就是对象的集合3.每个对象都是由其它对象所构成 ...

  5. Javascript编程模式(JavaScript Programming Patterns)Part 1.(初级篇)

    JavaScript 为网站添加状态,这些状态可能是校验或者更复杂的行为像拖拽终止功能或者是异步的请求webserver (aka Ajax). 在过去的那些年里, JavaScript librar ...

  6. 浅谈前端JavaScript编程风格

    前言 多家公司和组织已经公开了它们的风格规范,详细可參阅jscs.info,以下的内容主要參考了Airbnb的JavaScript风格规范.当然还有google的编程建议等编程风格 本章探讨怎样使用E ...

  7. JAVA编程思想(第四版)学习笔记----4.8 switch(知识点已更新)

    switch语句和if-else语句不同,switch语句可以有多个可能的执行路径.在第四版java编程思想介绍switch语句的语法格式时写到: switch (integral-selector) ...

  8. 《Java编程思想》学习笔记(二)——类加载及执行顺序

    <Java编程思想>学习笔记(二)--类加载及执行顺序 (这是很久之前写的,保存在印象笔记上,今天写在博客上.) 今天看Java编程思想,看到这样一道代码 //: OrderOfIniti ...

  9. #Java编程思想笔记(一)——static

    Java编程思想笔记(一)--static 看<Java编程思想>已经有一段时间了,一直以来都把笔记做在印象笔记上,今天开始写博客来记录. 第一篇笔记来写static关键字. static ...

随机推荐

  1. 在ASP.NET MVC中使用Knockout实践07,自定义验证信息的位置与内容

    在前两篇中,体验了Knockout的基本验证和自定义验证.本篇自定义验证信息的显示位置与内容. 自定义验证信息的显示位置 通常,Knockout的验证信息紧跟在input后面,通过validation ...

  2. Protocol Buffer Basics: C#

    Protocol Buffer 基础知识:c#    原文地址:https://developers.google.com/protocol-buffers/docs/csharptutorial   ...

  3. Java反射-修改String常量

    /* * ReflectString.java * Version 1.0.0 * Created on 2017年12月15日 * Copyright ReYo.Cn */ package reyo ...

  4. 手机端可以和PC端同时在线-java QRCode 实现网站扫码登录(即支持同帐号多设备同时登录)

    微信扫码测试地址:: http://sms.reyo.cn 用户名:aa 密码:123456 扫码登录实现方式很多,比如ajax轮询,http长连接(comet...),websocket,event ...

  5. mysql between and 遇到日期查询边界问题

    最近实现一个按日期范围查询列表,例如输入的是日期 2015-11-01到2015-11-03,想得到1号到3号的数据, 执行 select * from table where create_date ...

  6. window.parent window.top window.parent.location.pathname 没权限

    跨域问题啊,如果只是测试的话,放到服务器去测试,本地的(http://localhost/)就算是在同一个文件下,都会被认为跨域的.如果不需要支持低版本IE浏览,可以使用postMessage处理这个 ...

  7. 【BZOJ】【3211】花神游历各国

    线段树/暴力 线段树区间开方 唉,我傻逼了一下,TLE了一发,因为没考虑到0的情况…… 好吧简单来说一下,线段树动态查询区间和大家都会做……比较麻烦的是这次的修改变成开方了,然而这并没有什么好虚的,注 ...

  8. RV32A指令集

    RV32A指令包括两类:AMO(atomic memory operation)指令,Load-Reserved/Store-Conditional指令 Category Fmt RV32I base ...

  9. 奇怪吸引子---Arneodo

    奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...

  10. RxJava【变换】操作符 map flatMap concatMap buffer MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...