《深入浅出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 安装并启动 ...
随机推荐
- PHP 只有登陆后才能浏览的简单实现
1.============================================================= 在你不想让别人直接进入的网页开头加一段代码: session_start ...
- Simplified Memory Modle C/C++内存模型
最近学习c++看视频时,老师时常提到栈区堆区,搞不清楚,只能泪目,毕竟爱过...因此,接下来对此做些整理,方便回顾.(老师说:这个简化模型仅用于初学者示意,与实际模型并不完全一致) 1.stack(栈 ...
- S3C2440 LCD驱动(FrameBuffer)实例开发<一>(转)
1. 背景知识 在多媒体的推动下,彩色LCD越来越多地应用到嵌入式系统中,PDA和手机等大多都采用LCD作为显示器材,因此学习LCD的应用很有实际意义! LCD工作的硬件需求:要使一块LCD正常的显示 ...
- python杂记-1(os模块)
os模块说明:python os模块包含普遍的操作系统功能 os.access(path, mode) # 检验权限模式 os.chdir(path) # 改变当前工作目录os.chflags(pat ...
- python内建函数-数字相关
本篇对于数字有关的内置函数进行总结. 数字包括 int() , long() , float() , complex() ,这些函数都能够用来进行数值类型的转换.同时这些函数也接受字符串参数,返回字符 ...
- Python学习教程(learning Python)--2.3.1 Python传参函数设计
本节主要讨论设计传递多个参数子函数的设计方法. 在2.3节里我们讨论了如何自己设计一个带参数的子函数的设计方法,现在我们研究一下如何传递两个及以上参数的设计方法. 函数为何要带参数呢?其实原因很简单, ...
- 改用二进制启动Moses translation model提示Can't read ~/working/binarised-model/reordering-table
解决方案: 换成 /home/用户名/working 貌似就好使了...但是时间还是估计太长,明早挂机一天试试,顺便把manual 的详细部分看了
- 做HDU1010 带出来一个小问题
做1010 本来是想的DFS深搜 但是自己凭空打 打不出来 因为没有记模板 然后就去搜 但是看了一遍 自己打却又是有BUG 然后验证 就出现了一个二维字符数组打印的问题 开始代码是这 ...
- 信号驱动的IO
(1)client1,基于SIGIO的写法: #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h ...
- Nunit单元测试的使用
先建立一个需要测试的项目 安装nunit 通过nuget安装Install-Package Nunit 类前加[TestFixture] 要测试的方法前加[Test] using System; u ...