简介

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型

1.注释

单行   //
多行 /* */

2.引用方式

<head>
<meta charset="UTF-8">
<title></title>
<script src="commons.js"></script>
</head>
<body>
<script>
alert('derek')
</script>
</body>

3.JavaScript代码要放在<body>最下面,可以让网页尽快的呈现给用户,减少浏览者的等待时间,避免因为JS代码块阻塞网页的呈现。

常用数据类型

1.变量

局部变量必须一个 var 开头,如果未使用var,则默认表示声明的是全局变量

// 全局变量
name = 'derek'; function demo() {
// 局部变量
var age = 18;
// 全局变量
gender = 'M'
}

2.数字

JavaScript中不区分整数值和浮点数值,JavaScript中所有数字均用浮点数值表示。

转换:

  • parseInt(..)    将某值转换成数字,不成功则NaN
  • parseFloat(..) 将某值转换成浮点数,不成功则NaN

特殊值:

  • NaN,非数字。可使用 isNaN(num) 来判断。
  • Infinity,无穷大。可使用 isFinite(num) 来判断

3.字符串

(1)charAt (输入索引位置获取字符)

a='derek'
"derek"
a.charAt(2)
"r"
a.charAt(4)
"k"

(2)substring (输入起始位置,结束位置获取字符)

a.substring(2,4)
"re"

(3)lenght (获取当前字符串长度)

a.length
5

(4)concat (字符串拼接)

a.concat('123')
"derek123"

(5)查看索引位置

a.indexOf('k')
4
a.indexOf('r')
2

(6)split (分割字符)

a.split('e')
(3) ["d", "r", "k"]
a.split('e',1)
["d"]
a.split('e',2)
(2) ["d", "r"]
String.length    字符串的长度
String.trim() 移除空白
String.trimLeft() 移除左侧空白
String.trimRight() 移除右侧空白
String.concat(value, ...) 拼接
String.slice(start, end) 切片
String.split( ) 分割
String.search( ) 从头开始匹配,返回匹配成功的第一个位置(g无效)
String.match( ) 全局搜索,如果正则中有g表示找到全部,否则只找到第一个
String.replace( ) 替换,正则中有g则替换所有,否则只替换第一个匹配项;
$数字:匹配的第n个组内容;
$&:当前匹配的内容;
$`:位于匹配子串左侧的文本;
$':位于匹配子串右侧的文本
$$:直接量$符号
String.charAt( ) 返回字符串中的第n个字符
String.charCodeAt( ) 返回字符串中的第n个字符的代码
String.fromCharCode( ) 从字符编码创建—个字符串
String.indexOf( ) 查找子字符串位置
String.lastIndexOf( ) 查找子字符串位置
String.localeCompare( ) 用本地特定的顺序来比较两个字符串
String.substr( ) 抽取一个子串
String.substring( ) 返回字符串的一个子串
String.toLocaleLowerCase( ) 把字符串转换小写(针对地区,在不知道程序在哪个语言环境中运行时用)
String.toLocaleUpperCase( ) 将字符串转换成大写(针对地区)
String.toLowerCase( ) 小写
String.toUpperCase( ) 大写
String.toString( ) 返回原始字符串值
String.toString() 返回原始字符串值
String.valueOf( ) 返回原始字符串值

更多

4.布尔值

true(真)和false(假),要用小写

==      比较值相等
!= 不等于
=== 比较值和类型相等
!=== 不等于
|| 或
&& 且

5.数组

a = [11,22,33,44]     -->数组
(4) [11, 22, 33, 44]
a.splice(1,2) -->切片
(2) [22, 33]
a.splite(1,3,66)
Array.length    数组的大小
Array.push() 尾部添加元素
Array.pop() 删除并返回数组的最后一个元素
Array.unshift() 在数组头部插入一个元素
Array.shift( ) 在数组头部移除一个元素
Array.slice( ) 切片
Array.reverse( ) 反转
Array.join( ) 将数组元素连接起来以构建一个字符串
Array.concat( ) 拼接
Array.sort( ) 排序
Array 对数组的内部支持
Array.splice( start, deleteCount, value, ...)
插入、删除或替换数组的元素 obj.splice(n,0,val) 指定位置插入元素
obj.splice(n,1,val) 指定位置替换元素
obj.splice(n,1) 指定位置删除元素
Array.toLocaleString( ) 把数组转换成局部字符串
Array.toString( ) 将数组转换成一个字符串

6、字典 

创建字典

>dic = {'k1':'v1','k2':'v2'};
<Object {k1: "v1", k2: "v2"}

语句

1.循环

(1)for循环,两种方式

    a = [11,22,33,44]
for(var item in a){
console.log(a[item])
}
11
22
33
44
a = [11,22,33,44]
for(var i=0;i<a.length;i += 1){
console.log(a[i])
} 11
22
33
44

(2)while循环

while(条件){
// break;
// continue;
}

2.条件语句

(1)if语句

if(条件){

    }else if(条件){

    }else if(条件){

    }else{

    }

(2)switch条件语句

switch(name){
case '1':
age = 123;
break;
case '2':
age = 456;
break;
default :
age = 777;
}

函数

// 普通函数
function func(arg){
return true;
} // 匿名函数
var func = function(arg){
return "derek";
} // 自执行函数
(function(arg){
console.log(arg);
})('derek')

正则表达式

1.匹配模式 

/.../  用于定义正则表达式
/.../g 表示全局匹配
/.../i 表示不区分大小写
/.../m 表示多行匹配

2.test

(判断字符串是否符合规定的正则)

rep = /\d+/             -->只要有符合匹配的就返回true
/\d+/
rep.test('derek')
false
rep.test('derek123')
true rep = /^\d+$/ -->全部符合匹配的才返回true
/^\d+$/
rep.test('derek123')
false
rep.test('123')
true

3.exec

exec(string)    用于获取正则匹配的内容

4.规则

\d     数字,等同于[0-9]
\D 非数字,等同于[^0-9]
\s 空白字符
\S 非空白字符
\w 字母、数字、下划线,等同于[0-9A-Za-z_](汉字不属于\w)
\W 非字母、数字、下划线,等同于[^0-9A-Za-z_]
元字符         名称              匹配对象
. 点号 单个任意字符(除回车\r、换行\n、行分隔符\u2028和段分隔符\u2029外)
[] 字符组 列出的单个任意字符
[^] 排除型字符组 未列出的单个任意字符
? 问号 匹配0次或1次
* 星号 匹配0交或多次
+ 加号 匹配1次或多次
{min,max} 区间量词 匹配至少min次,最多max次
^ 脱字符 行的起始位置
$ 美元符 行的结束位置
| 竖线 分隔两边的任意一个表达式
() 括号 限制多选结构的范围,标注量词作用的元素,为反向引用捕获文本
\1,\2... 反向引用 匹配之前的第一、第二...组括号内的表达式匹配的文本

定时器

setInterval(“执行函数”,“时间”)表示创建一个定时器

  <script>
function func(){
console.log(1);
}
//创建一个定时器
setInterval('func()',5000); //5000表示5秒,每隔五秒执行一次func()
</script>

做个滚动字符的实例

<body>
<div id="i1">欢迎来到zhang_derek的blog</div>
<script>
function func(){
var tag = document.getElementById('i1');
var content = tag.innerText;
var f = content.charAt(0);
var l = content.substring(1,content.length);
var new_content = l + f;
tag.innerText = new_content;
}
setInterval('func()',500);
</script>
</body>

19.JavaScript的更多相关文章

  1. 19+ JavaScript 常用的简写技巧

    博主说:对于任何基于 JavaScript 的开发人员来说,这绝对是一篇必读的文章,乃提升开发效率之神器也. 正文 js 1. 三元运算符 当你想用一行代码来写if...else语句的时候,使用三元操 ...

  2. python笔记-19 javascript补充、web框架、django基础

    一.JavaScript的补充 1 正则表达式 1.1 test的使用 test 测试是否符合条件 返回true or false 1.2 exec的使用 exec 从字符串中截取匹配的字符 1.3 ...

  3. javascript总结19:javascript 使用概述

    1 JS作用 1.验证表单(以前的网速慢)`` 2.页面特效(PC端的网页效果) 3.移动端(移动web和app) 4.异步和服务器交互(AJAX) 5.服务端开发(nodejs) 2 浏览器的主要构 ...

  4. 19 JavaScript数组 &数组增删&最值&排序&迭代

    关联数组(散列) 关联数组又叫做散列,即使用命名索引. JavaScript数组只支持数字索引. JavaScript对象使用命名索引,而数组使用数字索引,JavaScript数组是特殊类型的对象. ...

  5. 2016/01/19 javascript学习笔记-name属性

    1. name属性只在少数html元素中有效:包括表单.表单元素.<iframe>和<img>元素. 基于name属性的值选取html元素,可以使用document对象的get ...

  6. javascript 笔记!

    1.通过javascript向文档中输出文本 document是javascript的内置对象,代表浏览器的文档部分 document.write("Hello Javascript&quo ...

  7. JavaScript第一天

    1.静态的网页技术和动态的网页技术 静态网页是相对于动态网页而言,是指没有后台数据库.不含程序和不可交互的网页.你编的是什么它显示的就是什么.不会有任何改变.静态网页相对更新起来比较麻烦,适用于一般更 ...

  8. JavaScript深究系列 [一]

    1. JavaScript中 = = = 首先,== equality 等同,=== identity 恒等. ==, 两边值类型不同的时候,要先进行类型转换,再比较. ===,不做类型转换,类型不同 ...

  9. Javascript题库

    一.填空题 JavaScript有两种引用数据类型 :__数组___.__对象__. Javascript通过__setTimeout___延迟指定时间后,去执行某程序. Javascript里Str ...

随机推荐

  1. python并发编程之线程(一):线程&守护线程&全局解释器锁

      一 threading模块介绍 multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性,因而不再详细介绍 官网链接:https://docs.pyth ...

  2. 基于微软企业库的AOP组件(含源码)

    软件开发,离不开对日志的操作.日志可以帮助我们查找和检测问题,比较传统的日志是在方法执行前或后,手动调用日志代码保存.但自从AOP出现后,我们就可以避免这种繁琐但又必须要实现的方式.本文是在微软企业库 ...

  3. springBoot之配置文件的读取以及过滤器和拦截器的使用

    前言 在之前的学习springBoot中,成功的实现了Restful风格的基本服务.但是想将之前的工程作为一个项目来说,那些是仅仅不够的.可能还需要获取自定义的配置以及添加过滤器和拦截器.至于为什么将 ...

  4. 03 JVM的垃圾回收机制

    1.前言 理解JVM的垃圾回收机制(简称GC)有什么好处呢?作为一名软件开发者,满足自己的好奇心将是一个很好的理由,不过更重要的是,理解GC工作机制可以帮助你写出更好的Java程序. 在学习GC前,你 ...

  5. 关于在windows10中的vmware9.0里面安装的ubuntukylin15.04和windows共享目录的一些反思

    关于在windows10中的vmware9.0里面安装的ubuntukylin15.04和windows共享目录的一些反思 一.遇到的问题      如题目所说,在windows的虚拟机中和windo ...

  6. 深度学习优化算法Momentum RMSprop Adam

    一.Momentum 1. 计算dw.db. 2. 定义v_db.v_dw \[ v_{dw}=\beta v_{dw}+(1-\beta)dw \] \[ v_{db}=\beta v_{db}+( ...

  7. 独立游戏大电影 原名(Indie.Game)

    电影链接 独立游戏大电影 感觉很不错呢!!

  8. HDU - 1175 bfs

    思路:d[x][y][z]表示以z方向走到(x, y)的转弯次数. 如果用优先队列会超时,因为加入队列的节点太多,无用的节点不能及时出队,会造成MLE,用单调队列即可. AC代码 #include & ...

  9. 叼叼叼,HTML5日期(Date)类型和文本(Text)类型互相转换

    <input placeholder="From" class="form-control" type="text" onfocus= ...

  10. Windows平台监听服务无法启动报报TNS-12560 TNS-00530案例

      在Windows Server 2012平台使用命令启动监听服务时遇到了TNS-12560 & TNS-00530错误. C:\Users>lsnrctl start GEW_LIS ...