`
dyccsxg
  • 浏览: 205265 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类

JavaScript 常用功能代码

阅读更多

1. 使用 iframe 时,父窗体与子窗体之间的相互调用

// 父窗体调用子窗体内的函数
window.frames['ifm_id'].valueChange("id_101");
// 子窗体调用父窗体的函数
parent.refreshTree("nodeId_202");

 

2. 弹出窗体与返回值

// 弹出窗体
var url = "http://www.baidu.com";
win=window.showModalDialog(url,window,"dialogLeft:400;dialogTop:200;dialogWidth:560px;dialogHeight:380px;scroll:yes;menubar:no;toolbar:no;status:no;");
// 在弹出窗体中设置返回值
var result = new Array();
result[0] = "id_101";
result[1] = "name_202";
window.returnValue = result;
window.close();

 

3. javascript 作用域[只有全局作用域和函数作用域,javascript没有块作用域]

// 1. 全局作用域
var id = "global variable";    // 1.1 在函数外部定义的变量
function showMsg(){    
    message = "global message";// 1.2 未定义而直接赋值的变量
                               //     在第一次使用时被定义为全局变量
}
// 2. 函数作用域
function doCheck(){
    var data = "function data";// 2.1 在函数内部定义的变量
}

 

4. javascript 继承机制

// 1. 对象冒充继承
function Person(strName){
    // private fields
    var name = strName;
    // public methods
    this.getName = function(){
        return name;
    };    
}
function Student(strName,strSchool){
    // 定义父类的属性及方法    
    this.parent = Person;
    this.parent(strName);
    delete this.parent;        // 删除临时变量 parent
    // 定义新属性及方法    
    // private fields
    var school = strSchool;
    // public methods
    this.getSchool = function(){
        return school;
    };     
}
// 2. Funtion 对象的 call(..) 或 apply(..) 继承
//    call 和 apply 的区别在于:
//      call  的第二个参数为可变参数;
//      apply 的第二个参数为 Array;
function Animal(strName,intAge){
    // private fields
    var name = strName;
    var age = intAge;
    // public methods
    this.getName = function(){
        return name;
    }; 
    this.getAge = function(){
        return age;
    };
}
function Cat(strName,intAge,strColor){
    // 定义父类的属性及方法    
    Animal.call(this,strName,intAge);
    // Animal.apply(this,new Array(strName,intAge));
    // 定义新属性及方法    
    // private fields
    var color = strColor;
    // public methods
    this.getInfo = function(){
        return "name:" + this.getName() + "\n"
             + "age:" + this.getAge() + "\n"
             + "color:" + color;
    };
}
// 3. prototype 继承
//    prototype 声明的属性及方法被所有对象共享
//    prototype 只有在读属性的时候会用到
Function.prototype.extend = function(superClass){
    // 此处的 F 是为了避免子类访问父类中的属性 this.xxx
    function F(){};
    F.prototype = superClass.prototype;
    // 父类构造函数
    this.superConstructor = superClass;
    this.superClass = superClass.prototype;
    this.prototype = new F();
    this.prototype.constructor = this;
};
Function.prototype.mixin = function(props){    
    for (var p in props){        
        this.prototype[p] = props[p];        
    }
};
function Box(){}
Box.prototype = {    
    getText : function(){
        return this.text;
    },
    setText : function(text){
        this.text = text;
    }
};
function CheckBox(){}
CheckBox.extend(Box);
CheckBox.mixin({
    isChecked : function(){
        return this.checked;
    },
    setChecked : function(checked){
        this.checked = checked;
    }
});

 

5. call , apply & bind

// thisArg 表示在 fun 内部时 this 所指示的对象
// call & apply 将立即执行 fun 并返回结果
var result = fun.call(thisArg,arg1,...);
var result = fun.apply(thisArg,[argsArray]);
// thisArg 表示在 fun 内部时 this 所指示的对象
// bind 返回的是一个匿名函数
var tmpfun = fun.bind(thisArg);
var result = tmpfun(arg1,...);

 

<script type="text/javascript">
/**
 * 扩展 Function 的功能
 */
Function.prototype.bind = function(obj){
    var method = this;
    var tmpfun = function(){
        return method.apply(obj,arguments);
    };
    return tmpfun;
}
function Parent(){
    this.name = "parent";
}
function Child(){
    this.name = "child";
    this.getName = function(time){
        return time + " " + this.name;
    };
}
var parent = new Parent();
var child = new Child();
alert(child.getName(1));                // show 1 child
alert(child.getName.call(parent,2));    // show 2 parent [call & apply 会立即执行]
var tmpfun = child.getName.bind(parent);// bind 不会立即执行
alert(tmpfun(3));                       // show 3 parent
</script>

 

6. js "==" Operator

转换规则
   如果一个操作数是 Boolean 值,则比较之前将其转成数字:false -> 0, true -> 1;
   如果一个操作数是数字,另一操作数是字符串,则比较之前将字符串转成数字;
   如果一个操作数是对象,另一操作数是数字或字符串,则比较之前会将对象转为基本类型,
       引擎会先尝试调用 valueOf(),如果 valueOf() 没有 override 或返回一个对象,
       则引擎会尝试调用 toString(),如果 toString() 没有 override 或返回一个对象,则抛出异常;
   如果是两个对象进行比较,则判断它们是否引用同一对象;
   如果一个操作数是 NaN, == 将返回 false, != 将返回 true;
   null 和 undefined 与其它值比较将返回 false,
       但 null == null, undefined == undefined, null == undefined;
   参与比较时 null 和 undefined 不能转为其它值;  

 

7. END.

 

附录:

1. Mozilla developer center JavaScript Reference
https://developer.mozilla.org/en/JavaScript/Reference

2. Methods
https://developer.mozilla.org/en/DOM/window#Methods

分享到:
评论

相关推荐

    JavaScript常用代码大全

    ### JavaScript常用代码解析 #### 1. 弹出选择用户对话框 ```javascript function doSelectUser(txtId) { var strFeatures = "dialogWidth=500px;dialogHeight=360px;center=yes;middle=yes;help=no;status=no;...

    javascript常用代码大全.doc

    在提供的“JavaScript常用代码大全”中,我们可以看到许多实用的代码片段,涵盖了多个方面的功能,包括对话框、全屏窗口、XML处理、表单验证、字符检测、浏览器检测以及特定功能的实现。 1. 对话框: - `...

    javascript 常用校验代码

    这篇博客“javascript 常用校验代码”可能包含了多种用于验证用户输入、数据格式以及其他关键业务逻辑的JavaScript函数和方法。 在JavaScript中,数据校验主要针对以下几个方面: 1. **用户输入校验**:这通常涉及...

    javascript常用代码及汇总

    "javascript常用代码及汇总"这个资源集合了JavaScript编程中的一些常见用法和实用技巧,是开发者学习和工作中的一大助力。 首先,JavaScript的核心概念包括变量、数据类型、控制结构、函数、数组、对象等。变量是...

    javascript 常用广告代码

    JavaScript是一种广泛应用于网页开发...在"常用的网页广告代码"这个压缩包中,可能包含了实现以上功能的JavaScript代码示例和库,供开发者参考和学习。理解并熟练运用这些知识点,有助于提升网页广告的效率和用户体验。

    网页常用Javascript经典代码收集

    根据给定的文件信息,以下是对“网页常用Javascript经典代码收集”的知识点详细解析: ### 1. 添加书签功能 这段代码实现了一个简单的添加书签的功能。通过调用`window.external.addFavorite`方法,可以将当前页面...

    javascript常用函数 javascript 常用库

    一、JavaScript常用函数 1. 数组操作函数 - `push()`: 向数组末尾添加一个或多个元素,并返回新长度。 - `pop()`: 删除并返回数组最后一个元素。 - `shift()`: 删除并返回数组第一个元素。 - `unshift()`: 在...

    Javascript特效代码大全 程序员常用的网页特效

    JavaScript是一种强大的客户端脚本语言,广泛应用于网页开发,用于实现各种动态效果和交互性功能...文档"程序员常用JavaScript特效.chm"可能是帮助文档,而".doc"文件可能包含了详细的代码示例和解释,是学习的好资源。

    javascript 常用代码段

    以上只是JavaScript常用代码段的一小部分,实际应用中还有许多其他功能和技巧,如事件处理、定时器、正则表达式、错误处理等。通过深入学习和实践,你可以更好地掌握JavaScript这门强大的语言。在提供的PDF文档和...

    常用javascript特效代码(带预览功能)

    资源名称:常用Javascript特效代码(带预览功能)   内容简介: 常用Javascript特效代码集锦,带有演示,左侧是特效分类及名称,点击后在右侧窗口中可预览效果,点右键可查看源代码,非常...

    javascript 常用代码大全

    以上只是JavaScript常用代码的一部分,实际应用中还有更多复杂且实用的功能,如AJAX异步通信、定时任务、动画效果、模板引擎等。通过不断学习和实践,你可以掌握更高级的JavaScript技巧,为网页开发带来无限可能。在...

    JavaScript 源代码大全(常用、实用、特效)

    这份"JavaScript 源代码大全"集合了多种常用、实用和特效的代码,旨在为开发者提供丰富的参考资料和实践示例。 一、JavaScript基础概念 JavaScript是一种解释型的、面向对象的、弱类型的脚本语言,主要用于网页和...

    JavaScript大全 常用JS效果代码

    这个压缩包文件“JavaScript大全 常用JS效果代码”显然包含了一系列实用的JavaScript代码片段,旨在帮助开发者快速实现常见的网页特效和功能。 1. **JS特效**:JavaScript能够创造出丰富的用户体验,如滑动门、轮播...

    网页设计常用Javascript经典代码

    这些经典的JavaScript代码片段在网页设计中非常实用,能帮助开发者快速实现各种交互功能。不过,随着Web技术的发展,现在更多的交互功能已经由更高级的框架如React、Vue或Angular来实现,但这些基础的JavaScript技巧...

    Javascript常用代码收集(一)

    这篇“JavaScript常用代码收集(一)”旨在整理和分享一些JavaScript的基础及进阶知识点,帮助开发者提升工作效率。 在JavaScript中,`null`是一个特殊的值,它表示“无”或“空”。不同于其他编程语言中的空值,...

    Javascript代码美化工具

    JS Beauty 是一款 Javascript 美化工具,它具有美化,净化,压缩和解压缩 Javascript 代码等功能: 1. 美化:将混乱的 Javascript 代码格式化为优美的带缩进的格式,适合阅读和修改。 2. 净化:去掉 Javascript ...

    JavaScript常用语句精选

    ### JavaScript常用语句精选 #### 一、概述 在网页开发中,JavaScript 是一种非常重要的客户端脚本语言,被广泛应用于交互式网站的设计与实现。本文档中的代码片段虽然较为特殊且不易理解,但其中涉及到了一些关键...

    100个直接可以拿来用的JavaScript实用功能代码片段(1-10)

    90、原生JavaScript常用的正则表达式大收集 91、原生JavaScript实现窗体改变事件resize的操作(兼容所以的浏览器) 92、原生JavaScript用正则清除空格分左右 93、原生JavaScript判断变量是否空值 94、原生JavaScript...

Global site tag (gtag.js) - Google Analytics