javascript 易漏点
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 易漏点的更多相关文章
- JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议
软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...
- javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈
Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...
- Javascript 的执行环境(execution context)和作用域(scope)及垃圾回收
执行环境有全局执行环境和函数执行环境之分,每次进入一个新执行环境,都会创建一个搜索变量和函数的作用域链.函数的局部环境不仅有权访问函数作用于中的变量,而且可以访问其外部环境,直到全局环境.全局执行环境 ...
- 探究javascript对象和数组的异同,及函数变量缓存技巧
javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...
- 读书笔记:JavaScript DOM 编程艺术(第二版)
读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...
- 《Web 前端面试指南》1、JavaScript 闭包深入浅出
闭包是什么? 闭包是内部函数可以访问外部函数的变量.它可以访问三个作用域:首先可以访问自己的作用域(也就是定义在大括号内的变量),它也能访问外部函数的变量,和它能访问全局变量. 内部函数不仅可以访问外 ...
- JavaScript权威指南 - 函数
函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...
- JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
今天为大家分享一下我自己制作的浏览器滚动条,我们知道用css来自定义滚动条也是挺好的方式,css虽然能够改变chrome浏览器的滚动条样式可以自定义,css也能够改变IE浏览器滚动条的颜色.但是css ...
- JavaScript进阶之路(一)初学者的开始
一:写在前面的问题和话 一个javascript初学者的进阶之路! 背景:3年后端(ASP.NET)工作经验,javascript水平一般般,前端水平一般般.学习资料:犀牛书. 如有误导,或者错误的地 ...
随机推荐
- 多态 OC——第十天
1.多态 父类指针指向子类对象 没有继承就没有多态 联系前面知识才能清楚什么是多态,所以放到最后面总结小知识点,有前面的知识会对多态更好的了解,会觉得简单很多,但是看此篇博文需要 ...
- 8、Preferences
(官网:www.libgdx.cn) Preferences是保存简单数据的一种很好的方式,比如用户设置,游戏状态等.Preferences原理像hash map,使用字符串作为键值,多种类型作为值. ...
- 深入理解Android IPC机制之Binder机制
Binder是Android系统进程间通信(IPC)方式之一.Linux已经拥有的进程间通信IPC手段包括(Internet Process Connection): 管道(Pipe).信号(Sign ...
- listview的工作原理
/** * Unsorted views that can be used by the adapter as a convert view. */ private ArrayList<View ...
- 基于Retrofit2.0+RxJava+Dragger2实现不一样的Android网络构架搭建(转载)
转载请注明出处:http://blog.csdn.net/finddreams/article/details/50849385#0-qzone-1-61707-d020d2d2a4e8d1a374a ...
- hive语句嵌入python脚本(进行map和reduce,实现左外连接)
在Hive语句中使用脚本(如python和shell)进行map和reduce:利用命令transform(或者指定map和reduce),配合加入的脚本文件add file 请看:http://ww ...
- AndroidBinder进程间通信系统-android学习之旅(86)
目录 前言及知识准备 Service组件结构 Clinet组件结构 与Binder驱动程序交互 总结 Binder进程间通信实例 问题 本次主要介绍Android平台下Binder进程间通信库.所谓通 ...
- VS2005宏无法运行的问题(打了补丁MS14-009之后)
VS2005宏无法运行的问题(打了补丁MS14-009之后) 部门很多同事都是使用VS的宏来给源文件添加文件头,给函数.类添加注释等等,大概是14年2月份之后(根据lucifer提供的时间),这些宏突 ...
- UML之构件图
构件图,英文名曰:Component Diagrams用于描述一组构件之间的组织和依赖关系,用于建模系统的静态实现视图,构件可以是可执行程序.库.表.文件和文档等,她包含了逻辑类或者逻辑类的实现信息, ...
- 如何缩放SpriteBuilder中的scene
我们在制作游戏的level时,往往会发现level的长或宽会大大超过窗口的尺寸.比如在类似超级马里奥游戏中(iphone横屏显示),level的宽度为5000,而窗口的宽只有960. 我想快速查看到l ...