zoukankan      html  css  js  c++  java
  • js对象,类

    js闭包网站:http://www.cnblogs.com/qieguo/p/5457040.html

     有权访问另一个函数作用域内变量的函数都是闭包。

    这里 inc 函数访问了构造函数 a 里面的变量 n,所以形成了一个闭包。再来看一段代码

     1 function a() {
     2     var n = 0;
     3     function f() {
     4         n++;
     5         console.log(n);
     6     }
     7     return f;
     8 }
     9 
    10 var c = a();
    11 c();  //控制台输出1
    12 c();  //控制台输出2

    看看是怎么执行的:

    var c = couter(),这一句 couter()返回的是函数 inc,那这句等同于 var c = f; 

    c(),这一句等同于 f();  注意,函数名只是一个标识(指向函数的指针),而()才是执行函数。

    后面三句翻译过来就是:  var c = f;  f();  f();,跟第一段代码有区别吗? 没有。

    为啥要那样写?

    我们知道,js的每个函数都是一个个小黑屋,它可以获取外界信息,但是外界却无法直接看到里面的内容。将变量 n 放进小黑屋里,除了 f 函数之外,没有其他办法能接触到变量 n,而且在函数 a 外定义同名的变量 n 也是互不影响的,这就是所谓的增强“封装性”。

    而之所以要用 return 返回函数标识 f,是因为在 a 函数外部无法直接调用 f 函数,所以 return f与外部联系起来。

    JS

    Js的基本认识:基于对象和事件驱动具有安全性能的脚本语言,可编程且能被直接解析执                行的语言就称为脚本语言,js可以直接被嵌入到html中。

    Js的作用:网页特效、表单验证、游戏、动画、后台程序

    Js的组成:ECMAscript-js核心语法  BOM(浏览器对象模型) 标准DOM(html文档对象模型)

    创建:外部:创建一个外部js文件。例如xxx.js

      内部:js 语句

    输出的方法

    1.向网页中输出内容(文本,标签):document.write()

    2.弹出提示对话框:alert('文本内容')

    3.往控制台输出 console.log('文本内容')

    4.在js中严格区分大小写

    5.使用来链接两行文本,例如: document.write('这是第三行语句');

    6.JavaScript的执行顺序:按照在HTML文件中出现的顺序依次执行

    变量

    声明变量:var [关键字] ,变量要先声明再赋值

    变量声明但是不赋值,返回undefined

    1:parseInt() 转成整数(整型)

    2:parseFloat() 转成小数(浮点型)

    3:转成字符串 toString():

    4:转成布尔Boolean()    

    创建javascript对象

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4 <meta charset="utf-8">
     5 <title>菜鸟教程(runoob.com)</title>
     6 </head>
     7 <body>
     8 
     9 <script>
    10 person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"}
    11 document.write(person.firstname + " is " + person.age + " years old.");
    12 </script>
    13 
    14 </body>
    15 </html>
    16 //定义并创建对象的实例
    17 //JavaScript最基本的命令是document.write。这个命令简单地打印指定的文本内容到页面上。
     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4 <meta charset="utf-8">
     5 <title>菜鸟教程(runoob.com)</title>
     6 </head>
     7 <body>
     8 
     9 <script>
    10 function person(firstname,lastname,age,eyecolor){
    11     this.firstname=firstname;
    12     this.lastname=lastname;
    13     this.age=age;
    14     this.eyecolor=eyecolor;
    15 }
    16 myFather=new person("John","Doe",50,"blue");
    17 document.write(myFather.firstname + " is " + myFather.age + " years old.");
    18 </script>
    19 
    20 </body>
    21 </html>
    22 //在JavaScript中,this通常指向的是我们正在执行的函数本身,或者是指向该函数所属的对象(运行时)
    23 //本例使用函数来构造对象:
    
    

    JavaScript 类

    JavaScript 是面向对象的语言,但 JavaScript 不使用类。

    在 JavaScript 中,不会创建类,也不会通过类来创建对象(就像在其他面向对象的语言中那样)。

    JavaScript 基于 prototype,而不是基于类的。

    访问对象的方法

    方法是能够在对象上执行的动作。

    您可以通过以下语法来调用方法:

    objectName.methodName()

    这个例子使用了 String 对象的 toUpperCase() 方法来将文本转换为大写:

    var message="Hello world!";
    var x=message.toUpperCase();
    返回HELLO WORLD!
  • 相关阅读:
    Angularjs中添加ckEditor插件
    Angularjs中添加HighCharts
    ngTbale真分页实现排序、搜索等功能
    移动端小功能杂记(三)
    Html5 history Api简介
    移动端流程页处理
    Html5离线缓存简介
    多Tabs的横向滚动插件(支持Zepto和jQuery)
    flutter从零开始第一篇-环境搭建(Windows)
    vue 父子组件与全局数据传递共享
  • 原文地址:https://www.cnblogs.com/spore/p/6127429.html
Copyright © 2011-2022 走看看