/*
Javascript:用来在页面中编写特效,和HTML、CSS一样都是有浏览器解析 Javascript语言:
一、JS如何运行(javascript,jscript,vbscript,applet...) 二、输出
alert(什么类型都可以);可以做调试用
document.write("字符串"); 三、如何在HTML文档中使用JS
使用<script></script>将js语法嵌入到html中,可以使用多个,每一个之间都是有关联的。
<script src="demo.js"></script>引入外部js文件,多个文件之间是相通的,但是有先后顺序。
<a href="javascript:alert("111111");"></a>点击A链接时执行Javascirpt程序
事件:事件触发时运行js
js语法:
命名规范:
1.命名一定要有意义。
2.不以数字开头的字母、数字、下划线、$符号。
3.不能是关键字和保留字。
大小写:javascript严格区分大小写
驼峰式命名法:变量名和函数,第一个单词小写,以后每个单词首字母大写showColor();
对象:每个单词首字母都要大写 Data();new Object();
分号:
结构定义语句后面不用加分号。if(){} for(){} function(){}
功能执行语句后面加分号。var a=1;如果有回车换行的地方可以省略(因为js认为换行表示语句结束),但是建议都加上分号。
注释:写注释文档
//单行
多行 四、变量
var a=10;
注:声明的变量调运后保存在内存里随时使用,只有当关闭浏览器才会释放内存,与别的语言不同。 var 变量名=值;
注:javascript是弱类型语言(和PHP相同) var a=10; 声明
a=10; 赋值 五、数据类型
1.number(int float double)包括整形浮点型,计算时还是按整形和浮点型分开看。
2.string(string char)
3.boolean
4.object(object array null)注意:使用时分别处理
5.undefind没有声明的变量 整数:
var a=10;十进制
var a=045;八进制
var a=0xff;十六进制 浮点型:
浮点数是近似数,不能用作判断两个浮点数等于( 0.1=0.0999999999)
var f=10.5;
var f=10.55;
var f=10.5e+10; 字符串
''
""
没有区别,所有的转义都可以使用
用+号连接字符串 六、运算符和表达式
算数运算符
+ - * / % ++ --
var a=10+5+"12abc"+20 //1512abc20 javascript里所有与字符串运算的都按字符串处理。
%(最后值的正负与前面值正负一致)求余数的话,最好都是整数,如果有浮点数的话,求出来的值没意义。4%2.7 值为1.29999998
赋值运算符
= += -= *= /= %=
条件运算符
> < == != >= <= === !==
两边比较时最好是相同类型,比较完之后值是布尔型
var a=false;
if(a){alert("111");}else{alert("000");}
逻辑运算符
&& || ! ^
位运算符号(C语言里面加密和算法的时候用到)
>> >>> << | & ~
其他 ?: 七、流程控制
顺序结构
条件结构/分支结构/选择结构
1.单路分支
if(boolean){
}
2.双路分支
if(boolean){
}else{
}
3.多路分支
if(boolean){
}else if(boolean){
}
}else if(boolean){
}用于范围 switch(变量){ //变量值最好用整形或字符型
case:值1;
表达式1;
break;
case:值2;
表达式2;
break;
default;
}单个值匹配
4.嵌套分支
if(bool){
if(bool){
...
}
}
循环结构
条件循环(js用的不多)
var i=0;
while(i<100){
document.write("###");
i++;
} do-while()
计数循环
st:
for(var i=1;i<=9;i++){
for(var j=0;j<=9;j++){
if(j==5)
break st; //退出双重循环的办法,输出5例后跳出
document.write(j+"*"+i+"="+(j*i)+"&nbsp")
}
document.write("<br>");
}
break退出循环
continue退出本次循环
八、函数:是一段完成“指定功能”的已经”命名“的代码段
函数只用”调用“才能使用到,通过函数名称调用(可以在声明之前,也可以在声明之后)
function test(obj){ //obj是形参
功能段
return 值;//退出函数
}
test(x); //x实参
函数名不加()时,这个函数名就代表整个函数
alert(typeof(test));//function
alert(test);//函数可以看成是变量,弹出test()的函数声明
var demo=test;
demo(x);//和test(x)一样的效果
1.函数名
2.参数
3.函数体(功能)
4.返回值(可选)有返回值才能称之为函数,没有返回值只能称之为过程
回调函数:函数通过传递变量不能解决问题,通过传递函数来完成 九、对象(首字母大写)
1.基于对象的操作方式(面向对象主要有三大特性:封装、继承、多态)
2.将相关的操作使用一个对象完成,看做是一个整体 字符串对象
数学对象
数组对象
时间对象 对象里存的内容:
1.属性(变量)
2.方法(函数) 声明对象;
使用对象;
使用系统对象; 十、内置JS对象
重要:
Array对象
String对象
属性:length
方法:
bold 把HTML<b>标记放置在对象中的文本两端
var str1="abc";
str2=str1.bold();//<b>abc</b>
charAt 返回指定索引位置处的字符
replace 返回根据正则表达式进行文字替换后的字符串的复制。
lastIndexOf 返回string对象中字符串最后出现的位置
match 使用正则表达式模式对字符串执行查找
substr 返回一个从指定位置开始的指定长度的子字符串
var s="acdscdgaefes";
var ss=s.substr(2,6);//dscdg
toString
toUpperCase 所有字母都转换为大写字母
toLowerCase 所有字母都转换为小写字母
Math对象
属性:E、PI
方法:
abs 绝对值
ceil 返回大于等于其数字参数的最小整数
floor 返回小于等于其数值参数的最大整数
random 返回介于0到1的伪随机数
round 返回与给出的数值表达式最接近的整数。
max 返回数值表达式中的较大者。
min 返回数值表达式中的较小者。
var i=300;
var x=Math.max(-6,Math.min(6,i));x在正6负6之间
RegExp对象
Data对象
Global对象 了解:
Boolean对象
Function对象
Number对象
Object对象 十一、数组
Array对象
数组的作用:只要是批量的数据都需要使用数组声明;
声明数组:
1.快速声明
var arrs=[item1,item2,item3,,,,,,];
var arrs=[[1,2,3],[4,5,6],[7,8,9]];
2.使用Array对象
var arr=new Array("item1","item2","item3");
属性:length、prototype
方法:
concat 连接数组
join 连接数组元素
pop 移除数组中最后一个元素并返回改元素
shift 移除数组中第一个元素并返回改元素
push 将新元素添加到一个驻足中
reverse 返回一个元素顺序被反转的数组对象
slice 返回数组的一段arrayobj.slice(start,end);
sort 排序
splice 移除数组中的一个或多个元素
toString 返回对象的字符串表示objname.toString(进制);
DOM:
DOM操作: 事件:
一、事件源:任何一个HTML元素body,div,button,p,a,h1等等
二、事件:你的操作
鼠标事件:
click
dbclick
textcontentmenu(在body)文本菜单(鼠标右键事件)
<body oncontextmenu="return test()">
<script>
function test(){
alert("ok");
return false;
}
</scirpt>
</body>
mouseover
mouseout
mousedown
mouseup
mousemove
键盘事件:
keypress 键盘事件 只能获取数字和字母键(不包括功能键、方向键等)
keyup 所有按键
keydown 所有按键 文档:
load 页面加载完之后触发
unload
beforeunload 关闭之前 表单:
submit
focus
blur
change 表单内容改变 其他:
scroll滚动事件
selected选择事件 三、事件处理
三种方法加事件:
1.标签里加
<p on事件="事件处理程序"></p>
2.<script></script>标签里加
<script>
对象.on事件=function(){
事件处理程序
}
</script>
3.不常用
<script for="事件ID" event="事件">事件处理程序</script> 事件对象: 事件发生时产生的事件对象
属性:
1.srcElement 事件源对象,不需要用this一般用this,不过可以用来解决兼容性
<p onclick="show()">aaaaa</p>
<script>
function show(){
window.srcElement.innerText="aaa";
}
</script>
2.keyCode 事件发生时的键盘码
<body onkeydown="show()">
<script>
function show(){
alert(event.keyCode);
}
</script>
</body>
3.clientX,clientY
4.screenX,screenY
5.returnValue
window.event.returnValue=false;
6.cancelBubble取消冒泡
<body onclick="one()">
<img src="data:images/ren_s_1.png" onclick="two">
<script>
function one(){
alert("body click");
}
function two(){
alert("img click");
window.event.cancelBubble=ture; //当出现冒泡事件后,程序执行到这里就不在往下执行。
}
</script>
</body> BOM:浏览器对象模型
一、浏览器本身就有一些对象,这些对象不用创建就能使用;
1.window:当前浏览器窗体的
属性:
status
opener
closed
方法:
alert();
confirm(); onclick="return confirm("你确认删除吗?");"
setInterval(); var num=0;
var dir=1;
setInterval(function(){
if(num>40||num<0){
dir=-1*dir;
}
num+=dir;
var space="";
for(var i=0;i<num;i++){
space+=" "; //通过添加空格来实现滚动向右显示;
} window.status=space+"滚动显示的内容";
},100); clearInterval();
seTimeout();
clearTimeout();
open(); window.open("url","windowName","windowFeature"); */

兄弟连javascript学习笔记的更多相关文章

  1. Java程序猿的JavaScript学习笔记(汇总文件夹)

    最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...

  2. Java程序猿的JavaScript学习笔记(8——jQuery选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  3. Java程序猿JavaScript学习笔记(2——复制和继承财产)

    计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...

  4. Java程序猿的JavaScript学习笔记(3——this/call/apply)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  5. Java程序猿JavaScript学习笔记(4——关闭/getter/setter)

    计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...

  6. Java程序猿JavaScript学习笔记(14——扩大jQuery UI)

    计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...

  7. javascript学习笔记(四) Number 数字类型

    数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数  toExponential() 方法 用科学 ...

  8. JavaScript学习笔记之数组(二)

    JavaScript学习笔记之数组(二) 1.['1','2','3'].map(parseInt) 输出什么,为什么? ['1','2','3'].map(parseInt)//[1,NaN,NaN ...

  9. JavaScript学习笔记[0]

    JavaScript学习笔记[0] 使用的是廖雪峰JavaScript教程. 数据类型 Number 表示数字,不区分浮点整形. === 比较时不转化数据类型. == 反之. NaN与任何值都不想等, ...

随机推荐

  1. C#开发微信门户及应用(16)-微信企业号的配置和使用

    在本系列随笔的前面,主要就是介绍微信公众号的门户应用开发,最近把整个微信框架进行了扩展补充,增加了最新的企业号的API封装和开发,后续主要介绍如何利用C#进行微信企业号的开发工作,本篇作为微信企业号的 ...

  2. arcengine中自定义工具和自带工具条(ICommand)点击后和其他工具使用的冲突

    自己系统中本身对于放大缩小等功能直接是单独重写的,但是如果在加一个工具条具有相同功能的话两者之间会有一些冲突,为解决该冲突可以重写工具条的OnItemClick事件 该工具条命名为axTool 我本身 ...

  3. linux系统编程之进程(二):进程生命周期与PCB(进程控制块)

    本节目标: 进程状态变迁 进程控制块 进程创建 进程撤消 终止进程的五种方法 一,进程状态变迁 进程的三种基本状态 就绪(Ready)状态 当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便 ...

  4. 运用<div>布局页面练习

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. C标准头文件<math.h>

    定义域错误可以理解为超出了函数的适用范围,如果发生了定义域错误,设errno为EDOM 如果结果不能表示为double值,则发生值域错误,如果结果上溢,则函数返回HUGE_VAL的值,设errno为E ...

  6. 企业IT架构介绍

    企业信息化之路 问题   互联互通   统一访问 统一身份管理 数据管理模型 企业数据集成业务架构 业务流程框架 业务流程模型 个性流程支持 跨业务的业务流程组合 EBS总线 ] SOA架构上视图 B ...

  7. MongoDB基础命令笔记

    一.创建数据库 use foobar 二.创建集合 db.persons.insert({name:"zhaomin",age:23}) 三.查找 db.persons.find( ...

  8. SSH框架整合

    SSH框架整合 一.原理图 action:(struts2) 1.获取表单的数据 2.表单的验证,例如非空验证,email验证等 3.调用service,并把数据传递给service Service: ...

  9. 实现一个基于 SharePoint 2013 的 Timecard 应用(中)

    门户视图 随着 Timecard 列表的增多,如何查找和管理这许多的 Timecard 也就成了问题.尤其对于团队经理而言,他除了自己填写的 Timecard,还要审核团队成员的 Timecard 任 ...

  10. Android 5.X新特性之为RecyclerView添加HeaderView和FooterView

    上一节我们讲到了 Android 5.X新特性之RecyclerView基本解析及无限复用 相信大家也应该熟悉了RecyclerView的基本使用,这一节我们来学习下,为RecyclerView添加H ...