javascript编程思想
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.name=‘sn’ |
window['obj']={} obj.name=’sn’ |
var obj = obj.name=’sn’ |
|
var obj = { id:1, } |
window[‘obj’]={ id:1, } |
|
|
主要用途:定义全局变量、当做函数参数调用 |
||
3.创建实例对象
function fn(){} fn.prototype = {}
|
以下结果等价 |
|
|
function fn(){} fn.prototype.set=function(){} |
function fn(){} fn.prototype={ get:function(){} } |
|
主要用途:复杂动能的实现 |
|
4.function对象自执行函数(function(){})()
|
以下结果等价 |
|||
|
(function(){ })() |
(function(){ }()) |
(function(){ |
!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编程思想的更多相关文章
- 淡扯javascript编程思想
一.面向对象-OOD 虽然js面向对象的编程思想已经老话常谈了,但了为了文章的完整性,我还是把它加了进来,尽量以不太一样的方式讲述(虽然也没什么卵不一样的). 1.面向对象,首先得有类的概念,没有 ...
- 面向对象编程思想(前传)--你必须知道的javascript
在写面向对象编程思想-设计模式中的js部分的时候发现很多基础知识不了解的话,是很难真正理解和读懂js面向对象的代码.为此,在这里先快速补上.然后继续我们的面向对象编程思想-设计模式. 什么是鸭子类型 ...
- 面向对象编程思想(前传)--你必须知道的javascript(转载)
原文地址:http://www.cnblogs.com/zhaopei/p/6623460.html阅读目录 什么是鸭子类型 javascript的面向对象 封装 继承 多态 原型 this指向 ...
- Java编程思想 (1~10)
[注:此博客旨在从<Java编程思想>这本书的目录结构上来检验自己的Java基础知识,只为笔记之用] 第一章 对象导论 1.万物皆对象2.程序就是对象的集合3.每个对象都是由其它对象所构成 ...
- Javascript编程模式(JavaScript Programming Patterns)Part 1.(初级篇)
JavaScript 为网站添加状态,这些状态可能是校验或者更复杂的行为像拖拽终止功能或者是异步的请求webserver (aka Ajax). 在过去的那些年里, JavaScript librar ...
- 浅谈前端JavaScript编程风格
前言 多家公司和组织已经公开了它们的风格规范,详细可參阅jscs.info,以下的内容主要參考了Airbnb的JavaScript风格规范.当然还有google的编程建议等编程风格 本章探讨怎样使用E ...
- JAVA编程思想(第四版)学习笔记----4.8 switch(知识点已更新)
switch语句和if-else语句不同,switch语句可以有多个可能的执行路径.在第四版java编程思想介绍switch语句的语法格式时写到: switch (integral-selector) ...
- 《Java编程思想》学习笔记(二)——类加载及执行顺序
<Java编程思想>学习笔记(二)--类加载及执行顺序 (这是很久之前写的,保存在印象笔记上,今天写在博客上.) 今天看Java编程思想,看到这样一道代码 //: OrderOfIniti ...
- #Java编程思想笔记(一)——static
Java编程思想笔记(一)--static 看<Java编程思想>已经有一段时间了,一直以来都把笔记做在印象笔记上,今天开始写博客来记录. 第一篇笔记来写static关键字. static ...
随机推荐
- Java中使用正则表达式获取网页中所有图片的路径
public static List<String> getImageSrc(String htmlCode) { List<String> imageSrcList = ne ...
- Android之取消ViewPage+Fragment的预加载
用过ViewPage+Fragment组合的童鞋自然知道这个问题,没有遇到的同学祝愿你们永远不会遇到,呵呵.直接上关键代码 注释:setUserVisibleHint每次fragment显示与隐藏都会 ...
- Visual Studio 2013 智能提示功能消失解决办法
Visual Studio 2013中,智能提示功能突然用不了,查了一下,使用命令行重置VS的方法解决了这个问题.步骤如下: 开始菜单 -->所有程序-->Visual Studio 20 ...
- SVG.js Mask覆盖和ClipPath裁剪
一.SVG.Mask 覆盖物设置 1. var draw = SVG('svg1').size(300, 300); //SVG.Mask 覆盖物设置 var ellipse = draw.ellip ...
- emouse思·睿—评论与观点整理之二
虽说我主要做的硬件,平时的兴趣爱好比较关注移动互联网,混迹于虎嗅.爱范儿.雷锋网.36Kr.cnBeta.瘾科技.i黑马.TechWeb等这类科技以及创业媒体,遗憾的是系统的去写的并不多,好在还算充分 ...
- 阿里jstorm和storm区别
转自:https://www.cnblogs.com/cn-leodream/p/6497277.html 看介绍文档貌似挺好:https://github.com/alibaba/jstorm ...
- 深度学习Github排名,很不错的介绍
今天看到这篇文章,把深度学习github排名靠前的项目,介绍了一下,很不错: https://blog.csdn.net/yH0VLDe8VG8ep9VGe/article/details/81611 ...
- ISP图像处理&&相机系统
如何理解 ISO.快门.光圈.曝光这几个概念? 摄影基础篇——彻底弄清光圈.快门与ISO 理解这三个参数各自都是如何控制进入的光线量: 快门速度一般的表示方法是1/100s.1/30s.2s: 小的“ ...
- javaScript:让文本框内的最后一个文字的后面获得焦点
//当失去交点以后 让文本框内的文字获得焦点 并且光标移到最后一个字后面 function myfocus(myid) { if(isNav){ document.getElementById(myi ...
- Idea 自动导入包的*设置99
作者:Intopass 链接:https://www.zhihu.com/question/35806024/answer/64530300 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权, ...