javascript 是一种解释型语言,不是java或c++那样的编译语言。javascript指令以普通文本形式传递给浏览器,然后依次解释执行。它们不必首先“编译”成只有计算机处理器能理解的机器码。

DOM简介

“文档对象模型”(DOM)是对文档及其内容的抽象表示。

每次浏览器要加载和显示页面是,都需要解释构成页面的HTML源代码。在解析过程中,浏览器建立一个内部模型来代表文档里的内容,这个模型就是DOM。在浏览器渲染页面的可见内容时,就会引用这个模型。我们利用javascript可以访问和编辑这个DOM模型的各个部分,从而改变页面的显示内容和用户交互方式。

window和document对象

在DOM里,页面的元素具有一个逻辑化,层级化的结构,就像一个有父对象和子对象组成的树形结构。这个层级树的最顶端是浏览器window对象,它是DOM树里一切对象的根。

任何没有明确指明对象的方法调用都会被指向window(比如window.alert() == alert()).

window对象具有一些子对象(document,location,history,navigator等等),其中document对象最经常使用。浏览器加载的任何HTML页面都会创建一个document对象,包括全部HTML内容及其他构成页面显示的资源。利用javascript以父子对象的形式就可以访问这些信息。这些对象都具有自己的属性和方法。

DOM对象和内置对象

在window对象的方法中,有一些是专门用于处理输入和输出信息的:alert(),confirm(),prompt();

根据id选择元素:document.getElementById("id_name");

innerHTML属性可以读取或设置特定页面元素内部的HTML内容。

访问浏览器历史记录使用window.history对象。

location对象包含当前加载页面的URL信息,使用location对象导航,刷新页面。

navigator对象包含了浏览器程序本身的数据。

Math对象简化运算

floor(num)   :向下取整

ceil(num)     :向上取整

round(num) :四舍五入

random():生成0到1的随机数

数据类型

javascript属于弱类型的编程语言,意味着javascript变量在不同场合可以被解释为不同的类型。

在javascript里,不必事先声明变量的数据类型就可以使用变量,这时javas解释程序会根据情况作出它认为正确的判断。如果我们先在变量里保存了一个字符串,稍后又想把它当作数值使用,这在javascript里完全是可行的,前提是字符串里的确包含“像”数值的内容(比如“200px”,"59分")。

数组

创建数组:1,var myArray = new Array();  2, var myArray = [];

数组有length属性,其值总是比最大索引值大1,即使数组中实际的元素数量没有那么多。

javascript 易漏点的更多相关文章

  1. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

  2. javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈

    Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...

  3. Javascript 的执行环境(execution context)和作用域(scope)及垃圾回收

    执行环境有全局执行环境和函数执行环境之分,每次进入一个新执行环境,都会创建一个搜索变量和函数的作用域链.函数的局部环境不仅有权访问函数作用于中的变量,而且可以访问其外部环境,直到全局环境.全局执行环境 ...

  4. 探究javascript对象和数组的异同,及函数变量缓存技巧

    javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...

  5. 读书笔记:JavaScript DOM 编程艺术(第二版)

    读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...

  6. 《Web 前端面试指南》1、JavaScript 闭包深入浅出

    闭包是什么? 闭包是内部函数可以访问外部函数的变量.它可以访问三个作用域:首先可以访问自己的作用域(也就是定义在大括号内的变量),它也能访问外部函数的变量,和它能访问全局变量. 内部函数不仅可以访问外 ...

  7. JavaScript权威指南 - 函数

    函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...

  8. JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome

    今天为大家分享一下我自己制作的浏览器滚动条,我们知道用css来自定义滚动条也是挺好的方式,css虽然能够改变chrome浏览器的滚动条样式可以自定义,css也能够改变IE浏览器滚动条的颜色.但是css ...

  9. JavaScript进阶之路(一)初学者的开始

    一:写在前面的问题和话 一个javascript初学者的进阶之路! 背景:3年后端(ASP.NET)工作经验,javascript水平一般般,前端水平一般般.学习资料:犀牛书. 如有误导,或者错误的地 ...

随机推荐

  1. UVa - 1618 - Weak Key

    Cheolsoo is a cryptographer in ICPC(International Cryptographic Program Company). Recently, Cheolsoo ...

  2. 9、Libgdx的输入处理

    (官网:www.libgdx.cn) 不同的平台有着不同的输入方式.桌面用户可以通过键盘和鼠标与应用进行交互,基于浏览器的游戏也是这样.在Android中,鼠标被触摸屏所替代,通常没有实体键盘.And ...

  3. 学习pthreads,管理线程的栈

    进程的地址空间分成代码段,静态数据段,堆和栈段.线程栈的位置和大小是从它所属的进程的栈中切分出来的.每个栈必须足够大,以容纳所有对等线程的函数的执行以及它们将会调用的例程链.或许你会问为什么要进行线程 ...

  4. 完美滑动顶部固定ScrollView,合并可以上拉,下拉加载更多

    先看效果: 主要处理: 使用PullToRefreshScrollView修改内部的scrollView源码,更换成可以固定顶部的自定义scrollView @Override protected S ...

  5. SpriteBuilder给节点添加effect在32设备上发生crash

    环境为 Xcode 6.4 , cocos2D 3.0.4 , SpriteBuilder 1.4.9 在给某一节点添加Effect后,运行在真机iphone4s上发生崩溃,显示为: 可以看到整个堆栈 ...

  6. netty对http协议解析原理解析

    本文主要介绍netty对http协议解析原理,着重讲解keep-alive,gzip,truncked等机制,详细描述了netty如何实现对http解析的高性能. 1 http协议 1.1 描述 标示 ...

  7. 【Qt编程】Qt学习笔记<一>

    1.      在创建项目时,项目名和路径中都不能出现中文. 2.      可以使用Ctrl + "+"和Ctrl + "-"来改变程序的字体大小(Ctrl+ ...

  8. STL算法设计理念 - 函数适配器

    1)函数适配器的理论知识 2)常用函数函数适配器 标准库提供一组函数适配器,用来特殊化或者扩展一元和二元函数对象.常用适配器是: 1.绑定器(binder): binder通过把二元函数对象的一个实参 ...

  9. Android使用SVG矢量动画(二)

    上篇我们学习了怎么显示SVG矢量图像,当然还有一个更强大的功能,就是让SVG图像动起来,先上一张效果图吧: 要实现上述动画效果,就得用AnimatedVectorDrawable这个类了,它就是负责V ...

  10. Android性能优化典例(一)

    在Android开发过程中,很多时候往往因为代码的不规范.api使用不恰当.控件的使用场景考虑不全面和用户不恰当的操作等都能引发一系列性能问题的,下面就是我目前整理的一些Android开发过程中需要注 ...