javascript 中的window.open()函数用法
经常上网的朋友可能会到过这样一些网站,一进入首页立刻会弹出一个窗口,
或者按一个连接或按钮弹出,通常在这个窗口里会显示一些注意事项、版权信息
、警告、欢迎光顾之类的话或者作者想要特别提示的信息。其实制作这样的页面
效果非常的容易,只要往该页面的HTML里加入几段Javascript代码即可实现。下
面俺就带您剖析它的奥秘。
【1、最基本的弹出窗口代码】
其实代码非常简单:
<SCRIPT LANGUAGE="javascript">
<!--
window.open ('page.html')
-->
</SCRIPT>
因为着是一段javascripts代码,所以它们应该放在<SCRIPT LANGUAGE="javascr
ipt">标签和</script>之间。<!-- 和 -->是对一些版本低的浏览器起作用,在这
些老浏览器中不会将标签中的代码作为文本显示出来。要养成这个好习惯啊。
window.open ('page.html') 用于控制弹出新的窗口page.html,如果page.html
不与主窗口在同一路径下,前面应写明路径,绝对路径(http://)和相对路径(..
/)均可。
用单引号和双引号都可以,只是不要混用。
这一段代码可以加入HTML的任意位置,<head>和</hea ......
1.自http://jorkin.reallydo.com/article.asp?id=275
第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符.
而str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志)。
replace()
The replace() method returns the string that results when you replace text matching its first argument
(a regular expression) with the text of the second argument (a string).
If the g (global) flag is not set in the regular expression declaration, this method replaces only the first
occurrence of the pattern. For example,
var s = "Hello. Regexps are fun.";s = s.replace(/\./, "!"); // replace first period with an exclamation pointalert(s);
produces the string “Hello! Regexps are fun.” Including the g flag will cause the interpreter to
perform a global replace, finding and replacing every matching substring. For example,
var s = "Hello. Regexps are fun.";s = s.replace(/\./g, "!"); // replace all periods with exclamation pointsalert(s); ......
javascript的跨浏览器的问题真的很烦人,
以前做AJAX的时候都是用responseText 因为功能要求都不是很复杂
现在想做一些RSS的合整,觉得用JS来做能节省很多的服务器资源
尽量往RIA的这边靠拢吧。
因为手头上没有一份完整的DOM的文档,解析XML来真的可以说的焦头烂额,
虽然用FOR IN 能读出对象的所有属性和方法,可惜这一招对XMLDOM不好用,
因为我们获得的都是已经初始化的实例而不是这个类,这个苦呀。
下面是我用了两个晚上的时间完成的尝试(之前试过用递归,可惜不知道怎么判断结束,本来想法很简单,觉得如果当前node 的child 为0的时候应该就结束了,可是不是这样的,谁有这方面的资料发我一份呀,感激不尽)
<?xml version="1.0" encoding="UTF-8"?>
<!--ISBN号,书名
作者(可以多个)
出版社(包含地址,联系电话(可以多个))
所属分类
shmilyhe@163.com
-->
<books>
<book ISBN="001">
<name>Java</name>
<authors>
<author>ivan</author>
<author>danny</author>
</authors>
<producer>
<address>广州</address>
< ......
javascript是一门动态语言,最明显就是那个dynamic this。它一般都是作为函数调用者存在。在javascript,所有关系都可以作为对象的一个关联数组元素而存在。那么函数就是被掰成两部分储存于对象,一是其函数名(键),一是函数体(值),那么函数中的this一般都指向函数所在的对象。但这是一般而已,在全局调用函数时,我们并没有看到调用者,或者这时就是window。不过,函数声明后,其实并没有绑定到任何对象,因此我们可以用call apply这些方法设置调用者。
一个简单的例子:
window.name = "window";
var run = function() {
alert("My name is " + this.name);
}
run();
window.name = "window";
var run = function() {
alert("My name is " + this.name);
}
run()
运行代码
这里你不能说run是作为window的一个属性而存在,但它的确是被window属性调用了。实质上大多数暴露在最上层的东西都则window接管了。在它们需要调用时被拷贝到window这个对象上(不过在IE中window并不继承对象),于是有了window['xxx']与window.xxx性能上的差异。这是内部实现,不深究了。
另一个例 ......
JavaScript eval() 函数
定义和用法
eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
语法
eval(string)
参数描述
string
必需。要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。
返回值
通过计算 string 得到的值(如果有的话)。
说明
该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。
如果试图覆盖 eval 属性或把 eval() 方法赋予另一个属性,并通过该属性调用它,则 ECMAScript 实现允许抛出一个 EvalError 异常。
抛出
如果参数中没有合法的表达式和语句,则抛出 SyntaxError 异常。
如果非法调用 eval(),则抛出 EvalError 异常。
如果传递给 eval() 的 Javascript 代码生成了一个异常,eval() 将把该异常传递给调用者。
提示和注释
提示:虽然 eval() 的功能非常强大,但在实际使用中用到它的情况并不多。
实例
例子 1
在本例中,我们将在几个字符串上运用 eval(),并看看返回的结果:
<script type="text/javascript">
eval("x=10;y=20;document.write(x*y)")
document.write(eval ......
Javascript 本身并不直接支持继承,不过javascript强大之处就在于其无比的灵活性,你基本可以为所欲为。
1. 通过在子类中调用父类的构建函数来实现继承。
2. 用Prototype来实现继承。
3. 常见framework是如何实现继承的。
4. 总结 ......