JavaScript 01
简介
- JS 是一种网页编程技术 , 用于向网页添加交互行为的编程技术 .
- JS 是一种基于对象 和 事件驱动的 解释性脚本语言 ,由浏览器直接解析执行代码 , 不进行预编译.
特点:
1. JS代码可以直接嵌入到HTML文件中
2. 可以使用任何的文本编辑器编写代码
3. 基于对象 内置了大量的可用对象.
4. 与Java不同, 代码不进行预编译, 直接解析执行.
缺点:
不具备计算机本地资源的操作能力.
作用:
1. 客户端的逻辑运算
2. 网页事件处理
3. 表单的合法性验证
4. 动画效果制作
可以减轻服务器的压力.
定义js的三种方式 * * * * *
1.定义在元素的事件属性中
<button onclick = "alert('从前')">按钮</button>
2.定义在网页的script标签中
<script type="text/javascript">
for(i=0;i<100;i++){
alert("heihei"+i);
}
</script>
3.定义在外部的.js文件中
<script type="text/javascript" src="js/demo.js"></script>
js的三种弹出窗
任何的JS弹出窗 , 都会导致浏览器的线程阻塞! 程序等待用户点击关闭 再向下执行.
-
提示窗口
alert(“弹出的内容”);
-
弹出信息问询框 , 具备确定和取消按钮, 点击确定时 返回true ,点击取消或关闭时返回false
confirm(“弹出的内容”);
-
弹出输入框 , 具备确定和取消按钮 ,点击确定返回输入内容, 点击取消或关闭 返回null
prompt(“提示输入的内容”);
js的事件列表
属性 值 描述 4 5
onabort script 发生 abort 事件时运行脚本。 5
onbeforeonload script 在元素加载前运行脚本。 5
onblur script 当元素失去焦点时运行脚本。 4 5
onchange script 当元素改变时运行脚本。 4 5
onclick script 在鼠标点击时允许脚本。 4 5
oncontextmenu script 当菜单被触发时运行脚本。 5
ondblclick script 当鼠标双击时运行脚本。 4 5
ondrag script 只要脚本在被拖动就允许脚本。 5
ondragend script 在拖动操作结束时运行脚本。 5
ondragenter script 当元素被拖动到一个合法的放置目标时,执行脚本。 5
ondragleave script 当元素离开合法的放置目标时。 5
ondragover script 只要元素正在合法的放置目标上拖动时,就执行脚本。 5
ondragstart script 在拖动操作开始时执行脚本。 5
ondrop script 当元素正在被拖动时执行脚本。 5
onerror script 当元素加载的过程中出现错误时执行脚本。 5
onfocus script 当元素获得焦点时执行脚本。 4 5
onkeydown script 当按钮按下时执行脚本。 4 5
onkeypress script 当按键被按下时执行脚本。 4 5
onkeyup script 当按钮松开时执行脚本。 4 5
onload script 当文档加载时执行脚本。 4 5
onmessage script 当 message 事件触发时执行脚本。 5
onmousedown script 当鼠标按钮按下时执行脚本。 4 5
onmousemove script 当鼠标指针移动时执行脚本。 4 5
onmouseover script 当鼠标指针移动到一个元素上时执行脚本。 4 5
onmouseout script 当鼠标指针移出元素时执行脚本。 4 5
onmouseup script 当鼠标按钮松开时执行脚本。 4 5
onmousewheel script 当鼠标滚轮滚动时执行脚本。 5
onreset script 当表单重置时执行脚本。不支持。 4
onresize script 当元素调整大小时运行脚本。 5
onscroll script 当元素滚动条被滚动时执行脚本。 5
onselect script 当元素被选中时执行脚本。 4 5
onsubmit script 当表单提交时运行脚本。 4 5
onunload script 当文档卸载时运行脚本。 5
java Script 语法
代码及注释
注释
单行 //
多行/* */
语句
表达式 关键字 运算符
大小写敏感
使用分号
常量、标识符和关键字
常量
1.直接出现的数据值
标识符
1.由丌以数字开头的字母、数字、下划线(_)、美 元符号($)组成
2.常用亍表示函数、变量等的名称
关键字
1.保留关键字 如:break,if
定义变量
变量声明
使用关键字var声明 如:var x;
变量初始化
var 变量名 = 赋值 ;
如:var count = 0;
数据类型
基本类型
Number : 数字;
String :字符串 ;
Boolean : 布尔 ;
特殊类型
Null : 空 ;
Undefined :未定义 ;
复杂类型
Array : 数组 ;
Object : 对象;
数据类型的隐式转换
JavaScript 属亍松散类型的程序语言
不同类型数据在计算过程中会自动进行转换
数字 + 字符串:数字转换为字符串
数字 + 布尔值:true转换为1,false转换为0
字符串 + 布尔值:布尔值转换为字符串true或false
布尔值 + 布尔值:布尔值转换为数值1或0
数据类型的转换函数
toString
-
转换成字符串
-
所有的数据类型均可以转换成string类型
parseint
-
强制转换整数
-
如果不能转换,则返回nan
parsefloat
- 强制转换成浮点数
- 若不能转换,则返回nan
typeof
- 查询数值当前类型,返回string / number / boolean / object
null 与 underfined
null
- null 在程序中代表“无值” 或者 “无对象”
- 可以通过给一个变量赋值 null 来清除变量的内容
undefined
- 声明了变量单从未赋值或者对象属性不存在
获取变量值得类型
- JS提供了一个函数, 可以用于获取变量值的类型
typeof(变量) : 返回字符串, 是类型的名称
例如:
<script type="text/javascript">
var a = 10;
alert(typepf(a)+":"+a);
a = false;
alert(typepf(a)+":"+a);
a = "xixixixi";
alert(typepf(a)+":"+a);
</script>
JS中的严格相等
在JS中 双等于号 仅比较内容,不比较类型。
alert(10 == 10 ); ------结果true
alert(10 == ‘10’); -------结果true
在需要比较内容的同时也比较数据类型, 需要使用严格相等。
严格相等 ===
严格不相等 !==
数组Array
格式:
创建数组的格式:
- var 数组名 = new Array();
- var 数组名 = new Array(长度);
- var 数组名 = new Array(元素1,元素2,元素3,...元素n);
- var 数组名 = [元素1,元素2,元素3,…元素n];
- 注意: Java中数组长度一经确定 无法改变.
- JS中数组的长度是可以任意扩容的. 数组的每一个下标, 更像是一个变量名. 可以任意赋值. 未赋值的下标默认值: undefined
算数对象 Math *
- 伪随机数
Math.random() : 返回的是一个0-1的浮点型数字.
- 四舍五入取整
Math.round(数字): 返回的是一个取整后的 整数值.
Number 对象 *
任何一个数值 都是Number对象.
- 保留指定的小数点位数, 来四舍五入数据.
数值.toFixed(保留的小数点数);
正则表达式对象
使用步骤
1. 创建正则对象
var 对象名 = /正则表达式/g;
2. 使用
正则对象.test(要验证的数据) : 返回boolean类型的值, 符合true , 不符合false
函数
定义一个函数
function 函数名 (形式参数列表){
//函数体
}
案例: 定义一个函数, 拥有两个参数, 用于计算两个参数的和 , 并将计算结果返回
function sum(x,y){
return x+y;
}
函数扩展 熟悉
函数也是一种变量 , 函数名 也是 变量名, 一个函数 也可以称其为 一个function类型的变量.
按照定义变量的方式, 来定义函数:
var 函数名 = function(){
}
按照new的方式 来定义函数:
var 函数名 = new Function(可变长度的参数列表);
参数列表:
string类型的可变参数 , 参数列表的长度为0-n;
第0-(n-1)的参数, 表示函数的形式参数列表.
第n个参数表示函数体.
例如:
var sum = new Function("x","y","return x+y;");
相当于:
function sum(x,y){
return x+y;
}
全局函数
- isNaN(变量)
如果变量值为数字 , 则返回false !
如果变量值不是数字, 则返回true.
- eval(字符串);
将字符串 作为代码 解析执行.
URI 编码 (在Java中, 又称为URL编码)
在网络数据传输时, 因为客户端与服务器不同的编码问题, 有可能导致乱码的发生.
我们可以在数据发送时, 将编码转换为URI编码, 来防止乱码.
原理:
将会发生乱码的内容 (非英文字母, 非阿拉伯数字,非英文标点的部分) ,
转换为 英文字母+数字+英文标点的形式(十六进制值%), 发送给服务器 .
服务器接收后, 再将其组装为正常的文本, 即可使用.
格式:
- 将文字转换为URI编码:
var uri = encodeURI("正常的文本");
- 将URI编码转换回文字:
var 正常文本 = encodeURI(uri编码的文字);