JavaScript开发中几个常用知识点总结

标签: javascript 开发 知识 | 发表时间:2014-04-15 13:44 | 作者:baojunhu99
出处:http://www.iteye.com
一、三种声明函数的方式
1、声明式的函数

function functionName(arg1, arg2) {alert(arg1+arg2);}2、匿名函数

var functionName1 = new Function("arg1", "arg2", "alert(arg1 + arg2)");3、直接量函数

functionName2 = function (arg1, arg2) { alert(arg1 + arg2); };三种函数调用方式

functionName("1", "22");
functionName1("2", "11");
functionName2("Hello", "World");继续看,还可以这样写,第一次体验很不错

functionName1.love = "Hello World!";
alert(functionName1.love);
functionName1.Test = function () { alert("Test"); }
functionName1.Test();

二、jQuery $(document).ready() 与window.onload的区别
1、执行时间

  window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。
      $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。

2、编写个数不同

  window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个,执行后面的一个。
      $(document).ready()可以同时编写多个,并且都可以得到执行。

3、简化写法

  window.onload没有简化写法 。
      $(document).ready(function(){})可以简写成$(function(){})。

注意:window.onload和body.onload之间的关系和区别,最好自己亲自去实践一下。

三、location.href
1、top.location.href=”url”          在顶层页面打开url(跳出框架)

2、parent.location.href=”url”    在父窗口打开Url地址

3、self.location.href=”url” 和 this.location.href=”url” 和 window.location.href=“url” 和location.href       都是在本页面打开url地址

由此我解决了一个问题:就是使用了Iframe框架,同时也控制用户超时重新登录的限制,所以有时候登录页面会出现在页面中的某部分。

处理方式就比较简单就是在登录页面通过JavaScript进行一次判断即可

<script type="text/javascript">
    if (window != top)
        top.location.href = location.href;
</script>

四、获取url参数
1、获取指定url指定参数的值
//获取指定url的指定参数值
//name为参数名
//url为指定的url地址
function GetQueryStringRegExp(name,url) {
    var reg = new RegExp("(^|\\?|&)" + name + "=([^&]*)(\\s|&|$)", "i");
    if (reg.test(url)) return decodeURIComponent(RegExp.$2.replace(/\+/g, " ")); return "";
}2、获取当前页面url指定参数的值

//获取url指定参数的值
function GetQueryStringRegExp(name) {
    var reg = new RegExp("(^|\\?|&)" + name + "=([^&]*)(\\s|&|$)", "i");
    if (reg.test(location.href)) return decodeURIComponent(RegExp.$2.replace(/\+/g, " ")); return "";
}
3、实践:
String urls = servletRequest.getRequestURL() + "?"
+ servletRequest.getQueryString();
Map<String, String> mapRequest = ResolveUrl.URLRequest(urls);
for (String strRequestKey : mapRequest.keySet()) {
if (strRequestKey.equals("sfzh")) {
String sfzh = mapRequest.get(strRequestKey);
session.put("sfzh", sfzh);
}
}

五、判断是否存在函数的方法
window.onload=function(){
    try{
        if(test&&typeof(test)=="function"){
            test();
        }
        else{
            alert("不存在的函数");
        }
    }
    catch(exception){
        alert(exception);
    }
}

function test(){
    alert("函数执行……");
} 第一种情况就是函数的确存在,那么就会执行该函数。

第二种情况就是函数不存在,但是在此域中存在该名称的对象或者变量,则为提示不存在的函数。

第三种情况就是函数不存在,对象或者变量也不存在,就是该名称是未定义的,则会提示函数未定义。

六、、设置Iframe高度
function SetIFrameHeight(iFrameId) {
        if (iFrameId == "") {return;}
        var Sys = {};
        var ua = navigator.userAgent.toLowerCase();
        var s;
        (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : 0;
        var pTar = null;
        if (document.getElementById) {
            pTar = document.getElementById(iFrameId);
        } else {
            eval('pTar=' + iFrameId + ';');
        }
        pTar.style.display = "block";
        if (Sys.ie) {
            if (Sys.ie == '9.0') {
                pTar.height = pTar.contentWindow.document.body.offsetHeight + 15 + "px";
                pTar.width = pTar.contentWindow.document.body.scrollWidth + "px";
            } else if (Sys.ie == '8.0') {
                pTar.height = pTar.Document.body.offsetHeight + 25 + "px";
                pTar.width = pTar.Document.body.scrollWidth + "px";
            } else {
                pTar.height = pTar.Document.body.scrollHeight + 25 + "px";
                pTar.width = pTar.Document.body.scrollWidth + "px";
            }
        }
    }参数就是该Iframe的id传入,暂时通过的是IE8测试是没问题的。

七、解决文本框设置只读后按退键后退页面
document.documentElement.onkeydown = function (evt) {
        var b = !!evt, oEvent = evt || window.event;
        if (oEvent.keyCode == {
            var node = b ? oEvent.target : oEvent.srcElement;
            var reg = /^(input|textarea)$/i, regType = /^(text|textarea)$/i;
            if (!reg.test(node.nodeName) || !regType.test(node.type) || node.readOnly || node.disabled) {
                if (b) {
                    oEvent.stopPropagation();
                }
                else {
                    oEvent.cancelBubble = true;
                    oEvent.keyCode = 0;
                    oEvent.returnValue = false;
                }
            }
        }
    }检测退格键时,所对应的操作进行判断,来处理禁用回退页面刷新的问题。


已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [javascript 开发 知识] 推荐:

JavaScript开发中几个常用知识点总结

- - JavaScript - Web前端 - ITeye博客
一、三种声明函数的方式. function functionName(arg1, arg2) {alert(arg1+arg2);}2、匿名函数. var functionName1 = new Function("arg1", "arg2", "alert(arg1 + arg2)");3、直接量函数.

JavaScript 开发者经常忽略或误用的七个基础知识点

- - 博客园_知识库
   英文原文: 7 JavaScript Basics Many Developers Aren't Using (Properly).   JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它. 昨天我们将这些模式应用到了 JavaScript 框架中,今天这些框架又驱动了我们的 Web 应用程序.

JavaScript 开发者经常忽略或误用的 7 个基础知识点

- - ITeye资讯频道
JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它. 昨天我们将这些模式应用到了 JavaScript 框架中,今天这些框架又驱动了我们的 Web 应用程序. 很多新手开发者被各种强大的 JavaScript 框架吸引进来,但他们却忽略了框架身后浩如星海的 JavaScript 实用技巧.

JavaScript性能优化小知识总结

- - 码农网
JavaScript的性能问题不容小觑,这就需要我们开发人员在编写JavaScript程序时多注意一些细节,本文非常详细的介绍了一下JavaScript性能优化方面的知识点,绝对是干货. 一直在学习javascript,也有看过《犀利开发Jquery内核详解与实践》,对这本书的评价只有两个字犀利,可能是对javascript理解的还不够透彻异或是自己太笨,更多的是自己不擅于思考懒得思考以至于里面说的一些精髓都没有太深入的理解.

JavaScript开发规范要求

- - 博客 - 伯乐在线
来源: webflash 的博客. 作为一名开发人员(WEB前端JavaScript开发),不规范的开发不仅使日后代码维护变的困难,同时也不利于团队的合作,通常还会带来代码安全以及执行效率上的问题. 本人在开发工作中就曾与不按规范来开发的同事合作过,与他合作就不能用“愉快”来形容了. 现在本人撰写此文的目的除了与大家分享一点点经验外,更多的是希望对未来的合作伙伴能够起到一定的借鉴作用.

使用JavaScript和Canvas开发游戏(一)

- iVane - 为之漫笔
原文作者:Matthew Casperson • 编辑:Michele McDonough. 原文链接: Game Development with JavaScript and the Canvas element. 3、通过Canvas元素实现高级图像操作. 4、通过Canvas实现视差滚动. 8、JavaScript键盘输入.

15款很棒的 JavaScript 开发工具

- jiwei - cnBeta.COM
在开发中,借助得力的工具可以事半功倍. 今天,这篇文章向大家分享最新收集的15款非常有用的 JavaScript 开发工具.

使用JavaScript和Canvas开发游戏(三)

- weslleywang - 为之漫笔
原文作者:Matthew Casperson • 编辑:Michele McDonough. 原文链接: Game Development with JavaScript and the Canvas element. 3、通过Canvas元素实现高级图像操作. 6、通过Canvas实现视差滚动. 8、JavaScript键盘输入.

使用JavaScript和Canvas开发游戏(四)

- weslleywang - 为之漫笔
原文作者:Matthew Casperson • 编辑:Michele McDonough. 原文链接: Game Development with JavaScript and the Canvas element. 3、通过Canvas元素实现高级图像操作. 6、通过Canvas实现视差滚动. 8、JavaScript键盘输入.