JavaScript 笔记
myhere
// 大学里最痛苦的事情莫过于做毕业设计,目前正处于这个时期。
// :( :(
//
// 首先记录下的是 Function 的一个问题
Function.prototype.method = function( name, func){
if( ! this.prototype[ name]){
this.prototype[ name ] = func;
}
} // 给 函数原型增加方法
//
// 给函数原型增加的方法在 String 中可以调用
String.method( 'trim', function(){
return ( this || '').replace( /^\s*|\s*$/g, '');
})
// 之前一直不理解为什么给 Function 对象的原型增加的方法,可以在 String 和 Array 中获取。
// 现在终于明白了。 说明见下面:
// 1, 在 js 中 函数 是对象( 虽然 typeof 结果为 'function' )。所有函数都是链接到 Function.prototype 的,
// 而 Function.prototype 本身是连接到 Object.prototype 的
// 2, 函数有 4 中声明方式,见 http://blog.csdn.net/phpandjava/archive/2010/03/19/5395528.aspx,
// 其中一种是 var me = new User();在这里 User 是一个函数,只不过调用方式是 Constructor 的方式,
// User 在其他面向对象语言中相当于 class,当然这里也可以理解为 类。这个 User 链接到 Function.prototype。
// 同样 String 也一个函数(也可以理解为对象,因为 js 中函数是对象),他也是通过 new String() 来调用的,因此,
// 给 Funciton 原型增加的方法可以在 String 中获取
//
//
// 《JavaScript: The Good Parts》是本好书,好书读一遍应该是不能理解透彻的,至少我没有。
// 下面记录下 书中 附录提到的 awful parts, bad parts
// 1, 避免使用全局变量,全局变量定义的方式有以下几种
// a, var foo = 'bar'; // 在所有函数外定义
// b, window.foo = 'bar'; // 给预定义的全局变量增加属性
// c, foo = 'bar'; // 不用 var 声明直接使用的变量。important!
// 2,自动加分号。
// js 会试图通过增加 分号 来纠正错误,比如
// var foo = function(){
// return // 在这里会增加 分号,因此函数返回 undefined,而不是 对象
// {
// name: 'myhere'
// }
// }
// 3,js 的 typeof 只产生 6 个值( 字符串 类型的): 'object', 'function', 'number', 'string', 'boolean', 'undefined'
// 数组经 typeof 运算结果为 'object';
// typeof null = 'undefined'
//
相关文档:
中文编码:
function upload() {
var form = document.getElementById('topic');
if ($('uploadfile').value == "") {
alert("请选择文件!");
return;
}
$('uploadfile').value = escape($('uploadfile').value) ......
出处:http://www.jcwcn.com/article/2005/1210/javascript_17476.html
<HTML>
<HEAD>
<title>WEB页面导出为EXCEL文档的方法
</title>
</HEAD>
<body>
<BR>
<table id = "PrintA" width="100%" border="1" cell ......
CDATA 内部的所有东西都会被解析器忽略。
假如文本中包含了大量的 "<" 和 "&" 字符 - 就像编程代码中经常出现的情况一样 - 那么这个 XML 元素就可以被定义为一个 CDATA 部分。
CDATA 区段开始于 "<![CDATA[",结束于 "]]>":
<script type="text/javascript">
<![CDATA[
function compare(a,b ......
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键
<table border oncontextmenu=return(false)><td>no</table> 可用于Table
2. <body onselectstart="return false"> 取消选取、防止复制
3. onpaste="return false" 不准粘贴
4. oncopy="return false;" oncut= ......