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. JAVA之旅(七)——final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展

    JAVA之旅(七)--final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展 OK,我们继续学习JAVA,美滋滋的 一.final 我们来 ...

  2. 内存管理Memory OC——第九天

    1.   内存管理方式         垃圾回收机制:(Garbage Collection),有系统管理内存,开发人员需要管理         注:OC从2.0之后就开始支持垃圾回收机制,但是只适用 ...

  3. Miner.java 爬虫启动类

    Miner.java 爬虫启动类 package com.iteye.injavawetrust.miner; import java.util.concurrent.ThreadPoolExecut ...

  4. 深入解析Linux中的fork函数

    1.定义 #include <unistd.h> #include<sys/types.h> pid_t fork( void ); pid_t 是一个宏定义,其实质是int, ...

  5. 【一天一道LeetCode】#43. Multiply Strings

    一天一道LeetCode系列 (一)题目 Given two numbers represented as strings, return multiplication of the numbers ...

  6. 将studio项目 转换为eclipse项目

    总会有些奇怪的事情,比如,有的人就有将studio项目 转换为eclipse项目的需求 首先,不要因为编译原因而放弃.studio项目是完全可以转换成eclipse的 本站的开源代码板块有很多项目都是 ...

  7. 【Qt编程】Qt版扫雷

    学习要学会举一反三.在以前的<用matlab扫扫雷>一文中,我用matlab简单的编写了一个扫雷小程序.当然,与Windows自带的扫雷程序自然是不敢相提并论.今天我就用c++来写个扫雷程 ...

  8. iOS实现时间线列表效果(例如订单详情页面的效果)

    之前看到美团的订单详情页面很有特色,于是决定模仿一下这个效果. 其实就是简单的 TableView 技巧,下面我们就来一步一步实现它. 设计 TableViewCell 原型 子类化一个新的 UITa ...

  9. zookeeper+kafka集群安装之二

    zookeeper+kafka集群安装之二 此为上一篇文章的续篇, kafka安装需要依赖zookeeper, 本文与上一篇文章都是真正分布式安装配置, 可以直接用于生产环境. zookeeper安装 ...

  10. The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files

    The type java.lang.Object cannot be resolved.It is indirectly referenced from required .class files ...