`
lingyibin
  • 浏览: 196394 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

javascript 的一点总结

阅读更多

Javascript面向对象的特性

(总结自:http://www.cnblogs.com/zhangziqiu/archive/2009/05/26/jQuery-Learn-javascript.html ,在此仅作为学习笔记)

 

1、创建一个类

 

var obj = new Object(); //其中new可以省略

 

 

2、创建属性,不用声明直接赋值:

obj.property1 = "I'm property1.";

 

3、嵌套属性

 var objectB = objectA;

objectB.other = objectA;
//此时下面三个值相当, 并且改变其中任何一个值其余两个值都改变
objectA.name;
objectB.name;
objectB.other.name;

 

4、使用索引

 

//如果objectA上有一个属性名称为"school.college", 那么我们没法通过"."访问,因为"objectA.school.college"语句是指寻找objectA的school属性对象的college属性.
//这种情况我们需要通过索引设置和访问属性:
         objectA["school.college"] = "BITI";
         alert(objectA["school.college"]);
 
//下面几个语句是等效的:
        objectA["school.college"] = "BITI";
        var key = "school.college"
        alert(objectA["school.college"]);
        alert(objectA["school" + "." + "college"]);        
        alert(objectA[key]);

 

 

5、JSON 格式语法

 

        //JSON
        var objectA = {
            name: "myName",
            age: 19,
            school:
            {
                college: "大学",
                "high school": "高中" 
            },
            love:["编程","唱歌","游玩"]
        }

 

 可用objectA.school["high school"];objectA.school.college;objectA.like[1]; 等来访问。。。

 

6、静态方法与实例方法

 

        function theStaticClass() { }; //声明一个类
        theStaticClass.staticMethod = function() { alert("static method") }; //创建一个静态方法
        theStaticClass.prototype.instanceMethod = function() { "instance method" }; //创建一个实例方法

 对于静态方法可以直接调用:

 

 

staticClass.staticMethod();

 

但是动态方法不能直接调用:

staticClass.instanceMethod(); //语句错误, 无法运行.

 

需要首先实例化后才能调用:

        var instance = new staticClass();//首先实例化
        instance.instanceMethod(); //在实例上可以调用实例方法

 

7、全局对象window属性

在页面中创建的类

 

<script type="text/javascript">
        var objectA = new Object();
</script>

 

是个全局变量。实际上全局变量objectA是创建在window对象上,所以可以用window.objectA来引用。

 

8、函数的实现

 

        function myMethod()
        {
            alert("Hello!");
        }

        window.myMethod = function()
        {
            alert("Hello!");
        }

        myMethod = function()
        {
            alert("Hello!");
        }

 

 

9、"this"可以指全局的window,也可以指当前变量或类

 

        var o1 = { name: "o1 name" };
        window.name = "window name";

        function showName()
        {
            alert(this.name); 
        }        
        
        o1.show = showName;
        window.show = showName;

        showName();//得到window name
        o1.show();//得到o1 name
        window.show();//得到window name

 

 

10、javascript中的闭包

简单表达:

闭包就是function实例以及执行function实例时来自环境的变量.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
    <div id="divResult"></div>
    <script type="text/javascript">
        function start()
        {
            var count = 0;
            window.setInterval(function()
            {
                document.getElementById("divResult").innerHTML += count + "<br/>";
                count++;
            }, 3000);
        };
        start();
    </script>
</body>
</html>

 结果是:

0

1

2

3

……

因为count变量是setInterval中创建的匿名函数(就是包含count++的函数)的闭包的一部分!

分享到:
评论

相关推荐

    JavaScript跨域总结与解决办法

    ### JavaScript跨域总结与解决办法 #### 跨域的基本概念 跨域问题源自于浏览器的安全策略之一——**同源策略**。同源策略是浏览器为了防止恶意网站通过脚本访问其他网站的数据而采取的一种安全措施。它规定了一个...

    javascript学习总结

    理解这一点对于编写无副作用的纯函数至关重要。 此外,JavaScript的函数还有作用域的概念,分为全局作用域和局部作用域。变量在函数内部定义的是局部作用域,在函数外部定义的是全局作用域。函数内部可以访问全局...

    JavaScript,JavaScript最全面的学习资料【JavaScript基础教程第7版】

    团队中各组员分别学习并总结的劳动成果,JavaScript基础教程第7版(人民邮电出版社),很全面的知识总结,现在我拿来,分享给想学习JavaScript的求知者,积分要的不多,也算是给我们劳动成果的一点回报,需要其他...

    JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解

    在深入讨论JavaScript闭包之前,首先需要了解JavaScript的变量作用域。在JavaScript中,变量的作用域分为两种:全局变量和局部变量。全局变量是在函数外部定义的变量,可以在JavaScript程序的任何地方被访问。局部...

    javascript_函数大全

    在深入探讨JavaScript函数的广泛应用与特性之前,让我们首先明确一点:JavaScript函数不仅是编程语言中的核心组件,更是实现复杂逻辑、封装功能模块的关键所在。不同于许多传统面向对象的语言,JavaScript通过其独特...

    Pro JavaScript-Tech中文版

    对于那些需要频繁使用或将来可能由其他人维护的代码来说,这一点尤为重要。 **代码测试的最佳实践**: 1. **单元测试**:针对单个函数或方法进行测试,确保每个部分都能按预期工作。 2. **集成测试**:测试不同...

    head first javascript 中文版.pdf

    为了遵守您的要求,我会基于这个假设提供一个关于JavaScript编程的知识点总结。 ### JavaScript基础知识 JavaScript是网页开发中一种非常重要的脚本语言,它能够让网页具备动态交互功能。以下是一些JavaScript编程...

    Blink in JavaScript

    在总结中,文档再次强调,Blink-in-JavaScript的目标是提升可维护性和Web架构的层级划分,并指出更好的可维护性意味着更简单的代码库,这有助于进行性能改进和更快速地添加重要的功能。而更好的层级划分能够提高安全...

    深入浅出JavaScript对象模型

    JavaScript中独特的一点是,函数本身就是一种特殊类型的对象。这意味着函数可以拥有属性和方法,并且可以像其他对象一样被传递和操作。例如,一个简单的构造函数可以定义如下: ```javascript function Person(name...

    javascript教程

    总结以上知识点,JavaScript教程介绍了JavaScript作为一种编程语言的基本特点,以及它在网络编程中的重要性和实现机制。通过对JavaScript特点的详细解析,我们可以理解它如何在现有的Web技术中占据核心地位,并且...

    JAVASCRIPT-使用面向对象的技术创建高级 Web 应用程序

    这一点对于实现面向对象编程尤为重要。 **构造函数而不是类** 在JavaScript中,没有传统意义上的“类”。相反,我们使用构造函数来创建对象。构造函数本质上就是一个普通的函数,通过使用`new`关键字调用来创建新...

    Effective JavaScript

    总结来说,《Effective JavaScript》是一本能够帮助读者深化对JavaScript编程语言理解的优秀书籍。它不仅适合于初学者,也适合那些已经有了一定经验希望进一步提升的中级和高级开发者。作者通过其对JavaScript的深刻...

    IE和FIREFOX的JAVASCRIPT兼容性总结.pdf

    - 与上一点相同,IE不支持`const`,应使用`var`代替。 **二、样式访问和设置** 1. **CSS的"float"属性** - IE使用`styleFloat`,Firefox使用`cssFloat`来设置元素的浮动样式。 - 兼容处理:使用条件语句判断...

    VS下JS调试方法的一点总结

    以下是对“VS下JS调试方法的一点总结”的深入解析与扩展。 ### VS与JavaScript调试概览 Visual Studio作为一款功能强大的集成开发环境(IDE),不仅支持多种编程语言,还提供了丰富的调试工具。对于JavaScript...

    JavaScript小技巧整理篇(非常全).pdf

    本文档旨在总结一系列JavaScript编程中的实用技巧,涵盖从基本操作到高级功能的应用。这些技巧不仅有助于提升开发效率,还能帮助开发者更好地理解和掌握JavaScript语言。 #### 二、重要技巧详解 ##### 2.1 使用 `=...

    登录javascript.zip

    总结起来,"登录javascript.zip"包含的项目可能是一个简单的前端登录系统,由HTML定义结构,JavaScript处理逻辑,CSS负责样式设计。通过学习和理解这个项目,开发者可以深入理解JavaScript在构建交互式Web应用中的...

    javascript 笔记

    JavaScript,也被称为JS,...总结来说,JavaScript是一门强大而灵活的脚本语言,无论是在前端开发还是后端开发中都扮演着重要角色。通过深入学习并实践这些知识点,你可以构建出功能丰富的网页应用和高效的服务端程序。

    javascript一点特殊用法

    总结来说,JavaScript函数的特殊用法体现了其作为一门动态语言的强大灵活性和表达力。能够把函数当作一等公民,使得JavaScript在处理事件、回调以及实现函数式编程等场景时更加得心应手。这些特殊用法是JavaScript...

Global site tag (gtag.js) - Google Analytics