• javascript中的数据结构


    Javascript中的关键字

     
    abstract     continue      finally      instanceof      private       this
    boolean      default      float        int            public        throw
    break        do           for          interface      return        typeof
    byte         double       function     long           short         true
    case         else         goto        short          native        var
    catch        extends      implements   new            super         void
    char         false        import       null           switch        while
    class        final        in           package        synchronized  with

    Javascript的数据结构

    Javascript的数据类型有以下几种

    摘自一段话:

    JavaScript中的数据很简洁的。简单数据只有 undefined, null, boolean, number和string这五种,而复杂数据只有一种,即object。这就好比中国古典的朴素唯物思想,把世界最基本的元素归为金木水火土,其他复杂的物质都是由这五种基本元素组成。 

    JavaScript中的代码只体现为一种形式,就是function。 

     

    注意:不要和Number, String, Object, Function等JavaScript内置函数混淆

    任何一个JavaScript的标识、常量、变量和参数都只是unfined, null, bool, number, string, object 和 function类型中的一种,也就typeof返回值表明的类型。除此之外没有其他类型了。 

     

    1、undefined

    typeof(undefined) 返回也是 undefined。 

    可以将undefined赋值给任何变量或属性,但并不意味了清除了该变量,反而会因此多了一个属性。 

    2、null

    ypeof(null)返回object,但null并非object,具有null值的变量也并非object

    3、bollean

    4、number

    typeof(NaN)typeof(Infinity)都返回number

    NaN参与任何数值计算的结构都是NaN,而且 NaN != NaN 。 

    Infinity / Infinity = NaN 。 

    5、string

    6、function

    JavaScript的代码就只有function一种形式,function就是函数的类型。请看下面的程序: 

     

    function myfunc() 
    
    { 
    
    alert(”hello”); 
    
    }; 
    
    alert(typeof(myfunc)); 
    

     

    这个代码运行之后可以看到typeof(myfunc)返回的是function。以上的函数写法我们称之为“定义式”的,如果我们将其改写成下面的“变量式”的,就更容易理解了: 

     

    var myfunc = function () 
    
    { 
    
    alert(”hello”); 
    
    };
    
    alert(typeof(myfunc)); 
    

     

    这里明确定义了一个变量myfunc,它的初始值被赋予了一个function的实体。因此,typeof(myfunc)返回的也是function。其实,这两种函数的写法是等价的,除了一点细微差别,其内部实现完全相同。也就是说,我们写的这些JavaScript函数只是一个命了名的变量而已,其变量类型即为function,变量的值就是我们编写的函数代码体。 

     

    7、Object

     

    创建一个没有任何属性的对象: 
    var o = {}; 
    
    创建一个对象并设置属性及初始值: 
    var person = {name: “Angel”, age: 18, married: false}; 
    
    创建一个对象并设置属性和方法: 
    var speaker = {text: “Hello World”, say: function(){alert(this.text)}}; 
    
    创建一个更复杂的对象,嵌套其他对象和对象数组等: 
    var company = 
    { 
    name: “Microsoft”, 
    product: “softwares”, 
    chairman: {name: “Bill Gates”, age: 53, Married: true}, 
    employees: [{name: “Angel”, age: 26, Married: false}, {name: “Hanson”, age: 32, Marred: true}], 
    readme: function() {document.write(this.name + ” product ” + this.product);} 
    }; 
    

     

     再看下面的一段代码

     <script>
    	function MyFunc(){}; 
    	var anObj = function(){
    	alert("123")}; 
    	MyFunc.call(anObj());
     </script>
    

     


     Javascript中的DOM树

    HTML元素为根元素,HEAD 和 BODY为兄弟元素,他们有自己的子元素。HEAD元素有两个子元素,分别为META 和 TITLE,其中前者比较重要,负责着HTML页面的编码方式等信息

    BODY下面又包含很多子元素...... 为了更形象的描述这个现象,我们称之为节点树!节点的概念来自于网络理论,自然界中的任何事物都是有原子构成的,原子就是自然界的节点,

    当然,原子又可以细分为原子核和核外电子,于是,原子核和核外电子也成为节点,只是更小的节点。

    <html>
    <div id="myclass">
    "hello,world"
    </div>
    </html>
    

    元素节点

    构成DOM树的所有< ++ >元素都是元素节点。例如上面的h1,p,ul等

    文本节点

    嵌套在元素节点之内的被称为文本节点。例如<div>hello,world</div>中的"hello,world"被成为文本节点

    属性节点

    上面代码中的"id=myclass"被称为属性节点

    并非所有的元素都会有属性,但是所有的属性都会被包含在元素内


    下面介绍几个DOM树中几个比较重要的属性对象

    childNodes

    childNodes可以把一个元素下的所有的元素都给检索出来

    nodeType:

    元素节点的属性值——1

    文本节点的属性值——3

    属性节点的属性值——2

    nodeValue

    文本节点的值,注意我们不能通过搜索到文本节点后调用该属性,而必须通过包含该文本节点的元素节点来进行调用


    动态创建HTML

    (1) 使用document.write()进行写

    (2) innerHtml进行读写

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
     <head>
     <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
     </head>
     <script>
     function test(){
    	var html="<p>tell me?</p>";//插入文本
    	document.body.getElementsByTagName('div')[0].innerHTML=html;
    }
     </script>
     <body onload="test()">
     <div>
    	hello
     </div>
     <div>
    	world
     </div>
     </body>
    </html>
    

     (3)DOM提供方法

    (3.1) createElement

     
  • 相关阅读:
    设计模式之装饰模式
    强化学习运行环境,atari 2600 游戏模拟器,atari-py库 —— 无法运行游戏,pacman,surround,报错: Segmentation fault (core dumped)
    【转载】 DQN玩Atari游戏安装atari环境bug指南
    【转载】 windows python3 安装 openai gym 的 atari_py
    【转载】 ubuntu18.04 cmake版本 更新方法
    强化学习baseline论文—— rainbow算法中给出实验结果的54个atari2600游戏名称列表
    UBUNTU18.04 SERVER 多显卡 服务器,为防止显卡计算任务出现不意外报错,设置显卡工作状态为:设定持久模式
    【转载】 nvidia-smi
    记录一次实验室显卡服务器崩溃事件(Ubuntu18.04 server系统,4块NVIDIA的特斯拉显卡)
    【转载】 Tensorboard:PermissionError: [Errno 13] Permission denied: ‘/tmp/.tensorboard-info/pid-46614.info‘
  • 原文地址:https://www.cnblogs.com/CBDoctor/p/3747530.html
Copyright © 2020-2023  润新知