1、严格区分大小写
2、语句结束可以有分号,也可以没有分号,分号不是必须,有分号更加规范。
3、// 为单行注释 /* 多行注释 */
4、变量可以不声明直接使用,变量全是变体类型
5、在js中,内置对象首字符大写,方法是从第二个单词首字母大写。
var d = new Date();
d.getFullYear();
window.alert();
window.setInterval();
window.setTimeout();
6、基于对象的高级脚本语言
浏览器对象,窗口对象,文档对象DOM ...
阅读目录一:理解构造函数原型(prototype)机制二:理解原型域链的概念三:理解原型继承机制四:理解使用类继承(继承的更好的方案)五:建议使用封装类实现继承六:理解使用复制继承回到顶部一:理解构造函数原型(prototype)机制 prototype是javascript实现与管理继承的一种机制,也是面向对象的设计思想.构造函数的原型存储着引用对象的一个指针,该指针指向与一个原型对象,对象内部存储着函数的原始属性和方法;我们可以借助pr...
整理JavaScript方面的一些技巧,比较实用的函数,常见功能实现方法,仅作参考 变量转换//edit http://www.lai18.com
var myVar = "3.14159",
str = ""+ myVar,// to string
int = ~~myVar, // to integer
float = 1*myVar, // to float
bool = !!myVar, /* to boolean - any string with length
and any number except 0 are true */
array = [myVar]; // to array但是转换日期(new Date(myVar))和正则表达式(new RegExp(...
编程模式,是源自经验和探索总结出的最佳实践方案,既有助于可读性和可维护性,也有助于提升整体性能。 行为隔离 总则:结构、样式和行为之间两两隔离。避免在结构中使用内联事件尽量少用 <script> 标签考虑 JavaScript 被禁用的情况,添加一些替换标签 命名空间 为了减少命名冲突,优化 JavaScript 性能,尽量只定义几个全局变量,并将其他变量和方法定义为这几个变量的属性。//定义全局变量
var MYAPP = window.MYAPP || {};
//定...
事件处理程序事件处理程序即响应某个事件的函数事件处理程序以 “on” 开头如“onclick”,“onload” HTML事件处理程序某个元素支持的每种事件都可以使用一个与响应的事件处理程序同名的HTML特性来指定这个特性的值应该是能够执行的script代码如:<input type="button" value="click me" onclick="alert(‘clicked‘)"/>此外也可以直接调用在文档其它部分定义的函数作为事件处理程序所执行的代码如:<input type="button" value="...
在数学和计算机科学中,柯里化是一种将使用多个参数的一个函数转换成一系列使用一个参数的函数的技术。举个例子: function add(a, b) {return a + b;
}// 执行 add 函数,一次传入两个参数即可
add(1, 2) // 3// 假设有一个 curry 函数可以做到柯里化var addCurry = curry(add);
addCurry(1)(2) // 3用途我们会讲到如何写出这个 curry 函数,并且会将这个 curry 函数写的很强大,但是在编写之前,我们需要知道柯里化到底有什么用?...
第一,首先,使用关键字function定义一个类function Shape1(ax,ay) {//此时将function看成声明类的标志var x=0;var y=0;var init=function () {//构造函数 对内部的变量赋值x=ax;y=ay;}
init();//构造函数的调用this.getX=function () {//this声明公有函数 var 声明私有 get方法return x;}
}然后,对象的实例化+调用var shape=new Shape1(1,2);//实例化
alert(shape.getX());//公有方法的调用第二,静态属性和静态方法js中静...
有幸看到iteye的活动,有幸读到《JavaScript语言精髓与编程实践_第2版》的试读版本,希望更有幸能完整的读到此书。说来读这本书的冲动,来得很诡异,写一篇读后感,赢一本书,其实奖励并不大,依靠纯粹的物质奖励,很显然,不会强烈的促使我去读这本书。而原因在于,一方面对javascript的极大兴趣,另一方面之前已经拜读过如《javascript高级程序设计》《高性能javascript》《javascript设计模式》等书,那我就有了要看看这本书都写...
1、function C () {this.a = 1;returnfalse; }
console.log (typeof new C());object function C () {this.a = 1;return "bbb"}
console.log (typeofnew C());也是object除非return {} ,才是真正return的值,其他的都是object原文:http://www.cnblogs.com/danghuijian/p/4856302.html
接上一讲,prototype可以用于动态增强对象,那么有些js的原生类,没有提供我们想要的功能的时候,我们就可以用prototype对其增强。下面是一些具体的案例,希望大家能举一反三:<pre name="code" class="javascript">//检测指定元素是否在数组中
Array.prototype.contains=function(e){for(i in this){if(this[i]===e)return true; }return false;
};
//测一测
alert(new Array('a','b').contains('a'));
var arr = ['red','yellow'...
??JavaScript:DOM编程
1.节点及其类型
1)元素节点
2)属性节点:元素的属性,通常情况下, 操作属性节点直接通过 "元素节点.属性名" 的方式来读写属性值
3)文本节点:是元素的子节点,其内容为文本
例<p title="name">donot forget me</p>
element node : p
attribute node : title="name"
text node :donot forget me 2.js在html中的位置
在<head>中,写在window.onload = function(){ // js代码 };
window.onload事件,在...
面象对象编程技术的核心理念:封装、继承、多态;在一些主流的高级编程语言中,比如:C#,VB.NET,JAVA,PHP等都是很容易实现的,而如果要在javascript中实现面象对象编程,可就不那么直接和容易了,因为javascript并不是面向对象的语言,所以我们只能通过javascript的一些特性,比如:闭包、原型链等来模拟出面向对象编程,我认为这些是作为熟练掌握与灵活运用javascript的基础,园子里已有很多的javascript高手对于这方面都有介绍与...
一、函数创建 1. 函数声明 (出现在全局作用域,或局部作用域)function add (a, b)
{return a + b;
}function add(a, b)
{return add1(a,b);function add1(m, n){return m + n;}
} 2. 函数表达式 作为普通变量var add = function (a, b){return a + b;
};作为对象方法var obj = { value: 0,add: function(a, b){return a + b;}
}; 作为函数返回值function add(a)
{var m = a;returnfunction(n){return m+n;};
}作为函数...
Web 的无所不在是它的魅力。保证任何人都能无障碍地使用它,是一个最基本的原则。 我非前端人员,后端才是我真正的目标,然而,在师兄的威逼之下,不得已要开始一个后端人员的前端之路....首先第一步是买了这本《Javascript DOM 编程艺术》,然后抽着时间一个星期看完了它。好吧,我承认我跳过了第十二章 ... = = 感觉有编程基础,特别是 C/C++ 基础看起来还是不太费劲的, Javascript 的语法很类似于 C/C++,而且宽松得多, 所...
DOM简介:说明: DOM(Document Object Model)文档对象模型,当网页被加载到WEB浏览器时,DOM树就自动被创建.它代表被加载到浏览器窗口里的当前网页,通过DOM树可以快速定位DOM对象中的元素或节点.注意: 如下内容并非专属于Js,而是DOM核心,也就是支持DOM的任何一种程序设计语言都可以使用它们,而且用途并不局限于处理网页,它们可以用来处理任何一种标记语言如XML文档节点分类:元素节点说明: 文档内的标签元素都属于元素节点,没有被包含在...