什么是反射机制 反射机制指的是程序在运行时能够获取自身的信息。例如一个对象能够在运行时知道自己有哪些方法和属性。 在JavaScript中利用for(…in…)语句实现反射 在JavaScript中有一个很方便的语法来实现反射,即for(…in…)语句,其语法如下: for(var p in obj){ //语句 } 这里var p表示声明的一个变量,用以存储对象obj的属性(方法)名称,有了对象名和属性(方法)名,就可以使用方括号语法来调用一个对象的属性(方法): for(var p in obj){ if(typeof(obj[p]=="function"){ obj[p](); }else{ alert(obj[p]); } } 这段语句遍历obj对象的所有属性和方法,遇到属性则弹出它的值,遇到方法则立刻执行。在后面...
this指针是面向对象程序设计中的一项重要概念,它表示当前运行的对象。在实现对象的方法时,可以使用this指针来获得该对象自身的引用。 和其他面向对象的语言不同,JavaScript中的this指针是一个动态的变量,一个方法内的this指针并不是始终指向定义该方法的对象的,在上一节讲函数的apply和call方法时已经有过这样的例子。为了方便理解,再来看下面的例子:
<script language="JavaScript" type="text/javascript"> <!-- //创建两个空对象 var obj1=new Object(); var obj2=new Object(); //给两个对象都添加属性p,并分别等于1和2 obj1.p=1; obj2.p=2; //给obj1添加方法,用于显示p的值 obj1.get...
<script>
/* MD5 Message-Digest Algorithm - JavaScript
MODIFICATION HISTORY:
1.0 16-Feb-2001 - Phil Fresle (<A href="mailto:
[email protected]">
[email protected]</A>) - Initial Version (VB/ASP code)
1.0 21-Feb-2001 - Enrico Mosanghini (<A href="mailto:
[email protected]">
[email protected]</A>) - JavaScript porting
*/
function MD5(sMessage) {
function R...
关于获取各种浏览器可见窗口大小的一点点研究。
在我本地测试当中:
在IE、FireFox、Opera下都可以使用
document.body.clientWidth
document.body.clientHeight
即可获得,很简单,很方便。
而在公司项目当中:
Opera仍然使用
document.body.clientWidth
document.body.clientHeight
可是IE和FireFox则使用
document.documentElement.clientWidth
document.documentElement.clientHeight
原来是W3C的标准在作怪啊
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
如果在页面中添加这行标记的话
在IE中:
document.body.clientWidth ==> BODY对象宽度
docu...
大家都知道Javascript 有两个种定义Function的方法非常常用。例如
function a(){alert("a")}
var a = function(){alert("a")}
虽然两个种方式定义出来的 function 调用的时候结果一样,但是中间还是有区别的。举个简单的例子,假如我们要重定义 a() ,而且新的方法要继承 a() 里面所有方法并且进行其他扩展的话。就可以明显看到这两个方式的区别了。
1. 首先,我们先建立一个临时的变量来存储 a()
var b = a;
然后,重新定义a()
第一种方式:
function a(){
b();
&nbs...
在开发中,经常遇到需要使用ASP.NET与JavaScript联合进行控制的情况。本文将使用DataGrid进行数据绑定,使用Javascript控制当选中其中的checkbox时,该行颜色改变。
首先,在页面中创建一个DataGrid控件,并设置其模板。
< asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False">
< Columns>
< asp:TemplateColumn>
< ItemTemplate>
< asp:CheckBox id="checkbox1" Runat ="server">< /asp:CheckBox>
< asp:Label runat="server" Text='< %# DataBinder.Eva...
我们在进行ASP.NET开发时,经常会用到一些javascript脚本,比如: private void Button1_Click(object sender, System.EventArgs e) { Response.Write( "<script language='javascript'>alert('OK');</script>") ; } 经常是重复的书写这些脚本,如果我们能做成一个相应的函数就好了,直接就可以拿来使用。很多人都有自己的一些javascript的函数,但是大部分向这样的: /// <summary> /// 服务器端弹出alert对话框 /// </summary> /// <param name="str_Message">提示信息...
以下是Javascript代码:【复制】
<script type="text/javascript"> function imageOver(e) { e.style.border="1px solid red"; } function imageOut(e) { e.style.borderWidth=0; } </script> <img src="phplamp.gif" onmouseover="imageOver(this)" onmouseout="imageOut(this)" />CSS Style属性对照表 盒子标签和属性对照CSS语法 (不区分大小写)JavaScript语法 (区分大小写)borderborderborder-bottomborderBottomborder-bottom-colorborderBottomColorborder-bottom-styleborderBotto...
很多人常会说,JavaScript对SEO是不利的。而事实上确实如此。 有过网站设计的人都很清楚,JavaScript能够制造出很多绚丽的效果,譬如雪花效果,下拉效果,浮动效果等等,但是JavaScript对搜索引擎并不友好,虽然搜索引擎譬如Google在抓取网页页面信息的时候可能会直接绕过JavaScript,但是Google的官方说明文档里也特别强调尽量少用框架、Dhtml、Cookie、Flash、JavaScript等,原因是搜索引擎在遇到这些东西的时候需要判断,有时候需要不断来回几下才能判断出来,我们罗列几个一并分析: 1. 对于框架,Google明确说尽量支持抓取框架页面但是不避免会出现抓取不到的现象,当几个框架并排或者嵌套的时候Google可能就只能...
1判断select选项中 是否存在Value="paraValue"的Item 2向select选项中 加入一个Item 3从select选项中 删除一个Item 4删除select中选中的项 5修改select选项中 value="paraValue"的text为"paraText" 6设置select中text="paraText"的第一个Item为选中 7设置select中value="paraValue"的Item为选中 8得到select的当前选中项的value 9得到select的当前选中项的text 10得到select的当前选中项的Index 11清空select的项 js 代码// 1.判断select选项中 是否存在Value="paraValue"的Item function jsSelectIsExitItem(objSelect, objItemValue) { var isExit = fals...
外部JavaScript文件块下载和伤害你的页面的性能,但有一个简单的方法来解决此问题:并行使用动态脚本标记和加载脚本,提高页面加载速度和用户体验。 --The problem: scripts block downloadsLet's first take a look at what the problem is with the script downloads. The thing is that before fully downloading and parsing a script, the browser can't tell what's in it. It may contain document.write() calls which modify the DOM tree or it may even contain location.href and send the user to a whole new page. If that happens, any components downloaded from the previous page may never be needed. In order ...