javascript中的数据结构

时间:2022-09-21 19:55:02

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树

javascript中的数据结构

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

 

javascript中的数据结构的更多相关文章

  1. JavaScript中的数据结构及实战系列

    本系列主要是讲解JavaScript中的数据结构及在实际项目中遇到的地方 JavaScript中的数据结构及实战系列(1):队列 JavaScript中的数据结构及实战系列(2):栈

  2. JavaScript中常见数据结构

    数据结构 栈:一种遵从先进后出 (LIFO) 原则的有序集合:新添加的或待删除的元素都保存在栈的末尾,称作栈顶,另一端为栈底.在栈里,新元素都靠近栈顶,旧元素都接近栈底. 队列:与上相反,一种遵循先进 ...

  3. JavaScript中的数据结构及实战系列(1):队列

    开题 张三丰教无忌太极剑法: 还记得吗? 全都记得. 现在呢? 已经忘却了一小半. 啊,已经忘了一大半. 不坏不坏,忘得真快,那么现在呢? 已经全都忘了,忘得干干净净. 好了,你上吧. 长时间写前端代 ...

  4. JavaScript中的数据结构及实战系列(2):栈

    开题: 不冒任何险,什么都不做,什么也不会有,什么也不是. 本文目录 栈介绍: JavaScript实现栈: 栈的应用: 栈介绍: 和队列一样,栈也是一种表结构,但是和队列的"先进先出&qu ...

  5. Web高级 JavaScript中的数据结构

    复杂度分析 大O复杂度表示法 常见的有O(1), O(n), O(logn), O(nlogn) 时间复杂度除了大O表示法外,还有以下情况 最好情况时间复杂度 最坏情况时间复杂度 平均情况时间复杂度 ...

  6. 在Object-C中学习数据结构与算法之排序算法

    笔者在学习数据结构与算法时,尝试着将排序算法以动画的形式呈现出来更加方便理解记忆,本文配合Demo 在Object-C中学习数据结构与算法之排序算法阅读更佳. 目录 选择排序 冒泡排序 插入排序 快速 ...

  7. 掌握javascript中的最基础数据结构-----数组

    这是一篇<数据结构与算法javascript描述>的读书笔记.主要梳理了关于数组的知识.部分内容及源码来自原作. 书中第一章介绍了如何配置javascript运行环境:javascript ...

  8. 前端开发:Javascript中的数组,常用方法解析

    前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array ...

  9. 在javascript中使用Json

    jSON是JavaScript面向对象语法的一个子集.由于JSON是JavaScript的一个子集,因此它可清晰的运用于此语言中. 文本生成json对象,必须在外面加一对括号. js 代码 var m ...

随机推荐

  1. Winform DataGridView控件添加行号

      有很多种方法,这里介绍三种: A: 控件的RowStateChanged事件中添加,RowStateChanged事件是在行的状态更改(例如,失去或获得输入焦点)时发生的事件: e.Row.Hea ...

  2. HoverTree开源项目已经实现管理员登录

    ASP.NET开源项目HoverTree已经实现了管理员登录功能,最新代码请到以下网址查看.http://hovertree.com/down/ 点击Clone右边的Download就可以下载最新开发 ...

  3. mongodb备份与恢复

    一.备份:mongodump -d mailaccess -c Mail -q ‘{user:”zhaoxy1@szdep.com”}’ -o /data/dump备份mailaccess datab ...

  4. ShellExecute的各种用法

    一.利用系统默认的邮件收发器发送电子邮件 Uses ..., ShellAPI; Var lpHwnd: HWND; lpOperation, lpFile, lpParameters, lpDire ...

  5. ECMAScript 5&sol;6&sol;7兼容性速查表

    http://kangax.github.io/compat-table/es5/ 秒查ECMAScript在各大浏览器的兼容性,点击右上角按钮可以“在5/6/7/非标”之间切换.做JavaScrip ...

  6. 在 &period;pro里加入 QMAKE&lowbar;CXXFLAGS &plus;&equals; &sol;MP 将并行编译,加快编译速度(姚冬的办法)

    但是只对VC编译器有效果. 另外还可以自己设置stdafx.h文件 http://www.zhihu.com/question/23045749

  7. IOS开发之XCode学习011:UISwitch控件

    此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能:  1.定义UIswitch控件,添加UIswitc ...

  8. elasticsearch启动常见错误

    问题出现环境,OS版本:CentOS-7-x86_64-Minimal-1708:ES版本:elasticsearch-6.2.2. 1.max file descriptors [4096] for ...

  9. node&period;js的基础知识

    第一部分知识: .命令行窗口(小黑屏).CMD窗口.终端.shell - 开始菜单 --> 运行 --> CMD --> 回车 - 常用的指令: dir 列出当前目录下的所有文件 c ...

  10. linux 常见报错

    yum install 包名        出现安装包重复,同一个安装包出现多版本 使用 rpm -qa |grep 包名 如果出现包名,则说明已存在该包(已被安装),要安装新版本的,可以卸载已装的y ...