web前端(javascript)
来源:互联网 发布:手机验证码php源码 编辑:程序博客网 时间:2024/05/17 03:25
javascript:
- ECMAScirpt(规范了基本的语法)
- BOM (浏览器对象模型)
- DOM (文档对象模型)
特点:
1. 跨平台
2. 安全性(javascript的代码不能直接访问硬盘的内容)
ECMAScirpt
javascript都是放在script标签中的,一旦加载,就会顺序执行
javascript代码的编写:
方式1:可以使用<script>标签体内进行编写
格式:
<script type="text/javascript">
js代码;;
</script>
方式2:引入外部的javascript文件。
注意:格式:<script src="js文件路径" type="text/javascript"></script>
- <script>是有开始标签与结束标签的,千万不要在一个标签中结束了
- 如果<script>已经用于引入了js文件,那么该<script>标签体就不能再写js代码
ECMAScript注释与 Java语言的注释相同
变量声明:var 变量名 = 数据;
变量注意事项:
- 在javascript中声明变量是使用var关键字声明的,javascript中的变量可以存储任意的数据类型数据.
- javascript中变量数据类型是根据存储的值决定的,可以随时更改存储数据的类型。
- 定义了多个同名的变量是,后定义的同名变量是覆盖前面定义的同名变量。
- 声明变量的时候可以省略var关键字,但是不建议省略。
查看变量的数据类型:typeof 变量名
javascript的数据类型:
number 小数与整数
string 字符串 注意: javascript中没有字符的概念,只有字符串,字符串可以写在单引号或双引号中。
boolean 布尔数据类型
undefined 代表该变量没有定义
运算符:
+(加法、正数、 连接符)
/ 除法不能整除的时候结果是小数,因为没有整数数据类型
比较运算符:> <
数字与字符串进行比较,会先把字符串转换成数字再进行比较
字符串与字符串的比较规则:
情况1: 能找到对应位置上的不同字符,那么就比较第一个不同字符的大小。
情况2: 不能找到对应位置上的不同字符,这时候比较的是两个字符串的长度。
逻辑运算符:
&&没有单与
三目运算符:
布尔表达式?值1:值2;
控制流程语句:
if(判断条件){符合条件执行的代码 }
特殊之处: 在javascript中的if语句条件不单可以写布尔表达式,还可以写任何的数据。
number :非0为true, 0为false.
string :内容不空是true, 内容空的时候是false。
undefined:false
NaN: false
选择语句:
switch(变量){
case 值1:
break;
case 值2:
break;
.....
default:
break;
}
特殊之处:在javascript中case后面可以跟常量、变量、表达式
for-in语句:类似java for增强for(var 变量名 in 遍历的目标){作用:将遍历的结果放进"变量名",可通过 "遍历的目标[变量名]" 范围具体数据
}
- 可以用于遍历数组的元素。 注意: 使用for-in语句遍历数组元素的时候,遍历出来是数组的下标。
- 可以用于遍历对象的所有属性数据。 注意: 使用for-in语句遍历对象的属性的时候,遍历出来的是对象的属性名。
with语句:有了With语句,在存取对象属性和调用方法时就不用重复指定对象。
with(对象){
可不用加对象名,直接使用对象方法
}
创建方式:方式1:new String("字符串的内容");方式2:var str = "字符串的内容";常用方法:anchor() 生产锚点blink() 为元素添加blink标签charAt() 返回指定索引位置处的字符。charCodeAt() 返回指定位置上字符的 Unicode 编码。fontcolor() 给字符串添加带有 COLOR 属性的一个 HTML <FONT> 标记indexOf() 返回 String 对象内第一次出现子字符串的字符位置italics() 把 HTML <I> 标记放置在 String 对象中的文本两端。link() 把一个有 HREF 属性的 HTML 锚点放置在 String 对象中的文本两端。replace() 返回根据正则表达式进行文字替换后的字符串的复制split() 切割Substr() 截取子串toUpperCase() 转大写toLowerCase() 转小写
创建方式:方式1:var 变量= new Number(数字)方式2:var 变量 = 数字;常用的方法:toString() 把数字转换成指定进制形式的字符串。toFixed() 指定保留小数位,而且还带四舍五入的功能
ceil() 向上取整floor() 向下取整random() 随机数方法,产生的伪随机数介于 0 和 1 之间(含 0,不含 1),round() 四舍五入
创建方式*方式1:var 变量名 = new Array(); 创建一个长度为0的数组。方式2:var 变量名= new Array(长度) 创建一个指定长度的数组对象。方式3:var 变量名 = new Array("元素1","元素2"...); 给数组指定元素创建数组的对象。方式4:var 变量名 = ["元素1","元素2"...];
注意细节:在javascript中数组的长度是可以发生变化的。
arr3 = arr1.concat(arr2); concat把arr1与arr2的数组元素组成一个新的数组返回join(""); join使用指定的分隔符把数组中的元素拼装成一个字符串返回pop() ; 移除数组中的最后一个元素并返回该元素push(); 将新元素添加到一个数组中,并返回数组的新长度值reverse(); 翻转数组的元素shift(); 移除数组中第一个元素并返回slice(start,end); 指定数组的开始索引值与结束索引值截取数组的元素,并返回子数组sort(sortNumber); 排序,默认字符串比较规则排序,数字排序一定要传入排序的方法。
function sortNumber(num1,num2){return num1-num2;}
splice(1,2,"1","2","3"···); 第一个参数是开始删除元素的索引值, 第二参数是删除元素的个数,往后的数据就是插入的元素
var date = new Date(); //获取到当前的系统时间年:date.getFullYear()月:date.getMonth()+1日:date.getDate()时:date.getHours()分:date.getMinutes()秒:date.getSeconds()格式化输出时间:date.toLocaleString()定时方法:window.setInterval("代码",毫秒数); 第一个参数要指定调用的代码,第二参数是每隔指定的毫秒数调用参数一的代码。
创建自定义对象:
方式1:通过function设计一个对象
function Hero(){}var H = new Hero(); //创建了一个Hero对象H.id = 001;H.name = "盖伦";
function Hero(name){ this.name = name; this.kill = function(){ document.write(this.name + "正在杀敌<br>"); }} var gareen = new Hero("盖伦");gareen.kill();
var hero = new Object();hero.name = "盖伦"; //定义一个属性name,并且赋值hero.kill = function(){ document.write(hero.name + " 正在杀敌" ); //定义一个函数kill} hero.kill(); //调用函数kill
var H = {id:001,name:"盖伦", kill:function(){ alert(this.name+" 正在杀敌"); }}
函数:
正常方式:function 函数名(形参列表){ 函数体 ;}
构造器方式:var 函数名 = new function("形参列表", "函数体 ; ")
直接量或匿名或无名方式:var 函数名 = function(形参列表){ 函数体 ; }
javascript的函数注意细节:
- 在 javascript中函数定义形参是不能使用var关键字声明变量。
- 在javascript中 的函数是没有返回值类型的,如果函数需要返回数据给调用者,直接返回即可,如果不需要返回则不返回。
- 在 javascript中是没有函数重载的概念,后定义的同名函数会直接覆盖前面定义同名函数。
- 在javascript中任何的函数内部都隐式的维护了一个arguments(数组)的对象,给函数传递数据的时候,是会先传递到arguments对象中,然后再由arguments对象分配数据给形参的。
常用的函数:
alert("显示的内容..") ; 弹出框,打断程序运行
document.write("数据") ; 向页面输出数据,可输入html等
console.log("数据"); 控制台打印输出
confirm(确认框); prompt(输入框);
网页获取的数据都是字符串类型的,一般需要字符串转数字:
parseInt方法:IsNaN() 判断该字符串是否是一个数字,不是数字返回true,是数字返回false
parseInt() 可以把一个字符串转换成整数。
parseFloat() 可以把一个字符串转换成小数。
如果接收的字符串含有非数字的字符,那么会从字符串的首个字符开始寻找,一直找到非数字字符为止,然后就使用前面的数字字符转换成数字。
如果一个字符串是以0x开头,那么会把字符串中的内容当成十六进行的数据处理的
如果首位是0,那么就想祛除0再进行转换
Prototype原型属性
1.prototype是函数(function)的一个必备属性(书面的说法是"保留属性")(只要是function,就一定有一个prototype属性)2.prototype的值是一个对象3.可以任意修改函数的prototype属性的值。4.一个对象会自动拥有prototype的所有成员属性和方法
例:把自己编写的getMax方法添加到内置的Array数组对象上//找数组最大值getMax方法Array.prototype.getMax = function(){var max = this[0];for(var index = 1; index<this.length ; index++){if(this[index]>max){max = this[index];}}return max;}//相当于以下代码:functoin Array(){this.prototype = new Object();this.getMax = function(){······};}
BOM( Browser Object MOdel)
全局变量: document ,location【浏览器地址】, history【访问历史】, navigator【浏览器】, screen【客户端屏幕】
全局方法:alert(); confirm(); prompt(); open(); close();
open() 打开一个新的窗口。resizeTo() 将窗口的大小更改为指定的宽度和高度值。moveBy() 相对于原来的窗口移动指定的x、y值。moveTo() 将窗口左上角的屏幕位置移动到指定的 x 和 y 位置。setInterval("代码",毫秒数) 每经过指定毫秒值后就会执行指定的代码。clearInterval() 根据一个任务的ID取消的定时任务。setTimeout() 经过指定毫秒值后执行指定 的代码一次。注意: 使用window对象的任何属性与方法都可以省略window对象不写的。
Location(地址栏对象)
location.href :设置及获取地址栏的对象
location.assign("路径"); 跳转页面,与href不同:会添加记录到浏览历史
reload() 刷新当前的页面
协议location.protocol
主机名location.hostname
端口号 (默认是80,没有即表示80端口)location.port
主机加端口号location.host
访问的路径location.pathname
锚点location.hash);
参数列表 location.search
Screen(屏幕对象),只有属性没有方法
availHeight 获取系统屏幕的工作区域高度,排除 Microsoft Windows 任务栏。
availWidth 获取系统屏幕的工作区域宽度,排除 Windows 任务栏。
height 获取屏幕的垂直分辨率。
width 获取屏幕的水平分辨率。
history(记录访问历史)
history.back(); 返回上一次访问
history.go(-2); -1表示上次,-2表示上上次访问,以次类推
事件:
方式一: 直接在html元素上注册
<body onload="ready()">function ready(){alert("body的元素被加载完毕了..");}
方式二:可以js代码找到对应的对象再注册。 推荐使用
var bodyNode = document.getElementById("body");bodyNode.onload = function(){alert("body的元素被加载完毕");}
鼠标点击相关:
onclick 在用户用鼠标左键单击对象时触发。ondblclick 当用户双击对象时触发。onmousedown 当用户用鼠标按钮按下对象时触发。onmouseup 当用户在鼠标按钮松开对象时触发。
onmouseout 当用户将鼠标指针移出对象边界时触发。onmousemove 当用户将鼠标划过对象时触发。
onblur 在对象失去输入焦点时触发。onfocus 当对象获得焦点时触发。
onchange 当对象或选中区的内容改变时触发。onload 在浏览器完成对象的装载后立即触发。onsubmit 当表单将要被提交时触发。事件方法返回true提交,false不允许提交
*DOM(Document Object Model)
属性:
all 获取html文件中的所有标签节点links 获取文档中含有href的属性的标签body
document.getElementById("html元素的id")document.getElementsByTagName("标签名") 返回数组document.getElementsByName("html元素的name") 返回数组
parentNode 获取当前元素的父节点。childNodes 获取当前元素的所有下一级子元素。firstChild 获取当前节点的第一个子节点。lastChild 获取当前节点的最后一个子节点。nextSibling 获取当前节点的下一个节点。(兄节点)
previousSibling 获取当前节点的上一个节点。(弟节点)
文本节点的类型: 3注释的节点类型: 8标签节点的类型: 1
document.createElement("标签名") 创建新标签元素节点elt.setAttribute("属性名", "属性值") 给节点设置属性elt.appendChild(e) 添加元素到elt中最后的位置
elt.insertBefore(newNode, oldNode); 添加到elt中,child之前。 注意: elt必须是oldNode的直接父节点。elt.removeChild(child); 删除指定的子节点。 注意: elt必须是child的直接父节点
Canvas.getContext(contextID) 方法返回一个用于在画布上绘图的环境
获取与设置属性:innerHTML 设置或返回 表格行的开始和结束标签之间的 HTML
css:元素节点的style属性即对应的css
style.display="none":隐藏
style.backgroundColor="green":背景色
注意:js代码要写在文档之后、或者写在window.onload里面(等对象转载完成)才能获取文档树
方式1:
/ 正则表达式 / 模式
new RegExp("正则表达式",模式);
test() 使用正则对象去匹配字符串 如果匹配成功返回ture,否则返回false.exec() 根据正则表达式去查找字符串符合规则的内容。
g (全文查找出现的所有 pattern)i (忽略大小写)
- web前端(javascript)
- web前端 基础部分(三) JavaScript
- Web前端 基础知识总结(Javascript篇)
- web前端-JavaScript知识体系(初学者)
- web前端之javascript
- 【Web 前端】javascript 1
- web前端--javascript
- Web前端----Javascript模块化
- Web前端-JavaScript深入
- web前端-javascript
- web前端之JavaScript权威指南(JavaScript语言核心)
- web前端技术与javascript
- WEB前端-JavaScript-入门手记
- [Web前端]Javascript编码规范
- 【Web前端】javascript作用域
- Web前端-Javascript播放器
- web前端工程师----JavaScript语言
- web前端工程师----JavaScript语言
- 牛客网华为在线训练---提取不重复的整数
- cef native C++ interaction with JS
- UVA Live 6129 (Codeforces Gym 100642H) Sofa, So Good 最小费用流
- Gson解析最外层是数组
- 存储过程(2)----Oracle
- web前端(javascript)
- sort-colors&Remove Duplicates from Sorted Array
- [编程题] 最大乘积
- 集合(四)Set及其子类
- poj 1502 MPI Maelstrom Dijkstra
- html小例子
- 目标检测RON网络安装运行记录
- 使用netty和messagepack编写网络请求
- HDU6127Hardchallenge(优美的暴力)