《深入浅出JavaScript》
第一章JS入门
第二章数据和判定
常用的转义序列
\b 回退 \f换页 \n换行 \r回车 \t制表符 \'单引 \"双引 \\反斜
乘除求余的优先级相同,从左向右执行
string对象
indexOf()查找并返回子字符串的起始索引位置,未找到则返回-1
substring()使用子字符串的起始和结束的索引作为参数,从另一个字符串中截取一个字符串
Date对象
JS是从0开始计算月份
getMinutes() getFullYear() getMonth() getDate()方法
Math对象
Math对象是内置对象,无需创建可直接使用,不存储数据
round()四舍五入
ceil() 向上舍入
floor()向下舍入
random()生成0~1之间的随机数
1~6 random()*5+1
数组
需要使用new关键字和构造函数来创建
length属性 返回数组的长度
slice() 截取数组的一段
slice()对于Array()对象如同substring()对于String对象
arrayObj.slice(start[,end])
concat()允许连接数组
返回一个新数组,这个新数组是由两个或更多数组组合而成的。
array1.concat([item1[, item2[, . . . [, itemN]]]])
数组和字符串之间的相互转换
Array对象的join()方法可将数组转化为字符串,这个方法需要一个字符串作为参数,这个字符串会被添加到元素的中间
var array=new Array("1","2","3")
var lineup=array.join(', ');
与join()相反的操作是split(),可把字符串转化为数组
数组排序
sort()允许把数组中的数据项按字母ASCII码或者数字顺序进行排列
reverse()方法把已排序好的反向排列
第三章 从DHTML到DOM编程
对待这种定义变量的方法要区分以下两种情况:
⒈在一个过程级中(即位于function的定义范围内,无论是函数,还是类)的任何地方,包括在一个区块里(for,while,if……),定义变量时,使用var定义,则此变量只在这个过程级内起作用,反之为全局变量。
⒉在过程级外定义变量时,无论是否忽略var,都将定义一个全局变量。
从这点看来,JS和其他语言有不一样的地方,变量的范围不以“{}”作为边界,而是以"function(){}"为边界,而且在过程内可以很轻松的定义全局变量。如果不注意这个问题的话,是很容易产生不可预知的错误的。
对于使用var,我的建议是要养成好的使用习惯:
⒈在程序的开头,统一定义全局变量;
⒉所有的变量在定义时都要加上var;
⒊尽量不要在不同的过程中使用相同的变量名。
第四章 HTML与JS
alert()
prompt()允许访问者输入内容
confirm()要求用户确认下一个动作
从父节点到子节点
yourElment.firstChild
yourElement.lastChild
yourElement.childNodes[0]
yourElement.childNodes[yourElement.childNodes.length-1]
可以通过hasChildNodes()检查一个元素是否有子节点,返回布尔值
从子节点到父节点
通过parentNode属性
兄弟节点之间互访
previousSibling和nextSibling属性
4.5修改元素属性
getAttribute('attribute')
setAttribute('attribute','value')
4.6创建、移除和替换元素
document.createElement('element')
document.createTexNode('string')
node.appendChild(newNode)
newNode=node.clonNode(bool):创建newNode节点作为node的副本,如果bool值为true,这个克隆就包括所有原节点的子节点及其属性的克隆
node.insertBefore(newNode.oldNode)
node.removeChild(oldNode):移除node节点的子节点oldNode
node.replaceChild(newNode,oldNode)
第五章 表现与行为
5.1用JS修改css是,float应写为cssFloat,其他用骆驼命名法可得到
《深入浅出JavaScript》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- android使用library工程问题
在windows系统下,library project必须和project处于相同的盘符中,因为如果在不同盘符,project.properties中的android.library.referenc ...
- 【标题】一本帮你提高Excel办公效率的VBA书
公司工程部男同事,EXCEL能力最强的前三位,分别号称:大表哥 二表哥 三表哥 公司财务部女同事,EXCEL能力最强的前三位,分别号称:大表姐 二表姐 三表姐 想成为你们公司的“表哥”.“表姐”? 但 ...
- WPF自定义控件(一)——Button
接触WPF也有两个多月了,有了一定的理论基础和项目经验,现在打算写一个系列,做出来一个WPF的控件库.一方面可以加强自己的水平,另一方面可以给正在学习WPF的同行一个参考.本人水平有限,难免有一些错误 ...
- 刀哥多线程之并发队列gcd-05-dispatch_queue_concurrent
并发队列 特点 以先进先出的方式,并发调度队列中的任务执行 如果当前调度的任务是同步执行的,会等待任务执行完成后,再调度后续的任务 如果当前调度的任务是异步执行的,同时底层线程池有可用的线程资源,会再 ...
- bootstrap-table-master
http://bootstrap-table.wenzhixin.net.cn/getting-started/ 1.安装bower 2. 3.编译css and js 以上就编译完了boostrap ...
- poj 3580 SuperMemo
题目连接 http://poj.org/problem?id=3580 SuperMemo Description Your friend, Jackson is invited to a TV sh ...
- C# DateTime详解
//今天DateTime.Now.Date.ToShortDateString();//昨天,就是今天的日期减一DateTime.Now.AddDays(-1).ToShortDateString() ...
- CSS3设置字体
@font-face{ font-family: myFirstFont;src: url('Sansation_Light.ttf') ,url('Sansation_Light.eot'); ...
- QT 的信号与槽
转载: QT 的信号与槽机制介绍 QT 是一个跨平台的 C++ GUI 应用构架,它提供了丰富的窗口部件集,具有面向对象.易于扩展.真正的组件编程等特点,更为引人注目的是目前 Linux 上最为流行的 ...
- 34.pad designer警告
1.Drill hole size is equal or larger than smallest pad size. Pad will be drilled away 原因:钻孔直径太大,直接把p ...