《深入浅出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 安装并启动 ...
随机推荐
- Fragment的创建以及与activity的参数传递
点击下面不同的TextView变化不同的Fragment avtivity与Fragment之间传递消息不能使用构造器传递,用bunder传递 首先写一个含有FrameLayout(这个布局最佳),里 ...
- c#写入Mysql中文显示乱码 解决方法
如题,mysql字符集utf8,c#写入中文后,全部显示成?,一个汉字对应一个?解决方法:在数据库连接字符串中增加字符集的说明,Charset=utf8,如 MySQLConnection con = ...
- 关键字替换排除HTML标签属性字符
解决办法: 1.打开文件e/class/functions.php 2.找到函数 ReplaceKey($newstext,$classid=0) 3.找到替换代码 if(STR_IREPLACE) ...
- Python数据类型-----数字&字符串
Python数字类型 int类型表示的范围:-2147483648至2147483648之间,超出这个范围的数字即视为long(长整形) 在Python中不需要事先声明数据类型,它是根据具体的赋值来进 ...
- JavaScript高级程序设计之函数性能
setTimeout 比 setInterval 性能更好 // 取代setInterval setTimeout(function self () { // code goes here setTi ...
- JavaScript高级程序设计之Date类型
ECMAScript 中的 Date 类型是在早期 Java 的 java.util.Date 类基础上构建的. Date 类型使用自 UTC (国际协调时间)1970年1月1日午夜(零时)开始经过的 ...
- iOS开发之构建Widget
原文出处: 陈凯 在 jianshu 的博客(@chenkaiHome) 欢迎分享原创到伯乐头条 伴随这iOS 8 系统多达4000项API更新而来同样还有Today Extension.而对iO ...
- C++11 常用语法
1 新类型 C++ 11新增了long long和unsigned long long,以支持64bit宽度: 新增char16_t和char32_t以支持16位和32位字符表示: 增加了“原始”字符 ...
- Couchbase server---Enyim.Caching.dll
本文不打算抄袭官方或者引用他人对Couchbase的各种描述,仅仅是自己对它的一点理解(错误之处,敬请指出),并附上一个入门示例. ASP.NET Web项目(其他web开发平台也一样)应用规模小的时 ...
- IIS 404.17 错误解决方案
操作方法:在管理员身份打开命令行,运行以下命令: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -i