Java程序员

初学JavaScript笔记、每天进步一点点

2018-03-28  本文已影响9人  chasing_dream

JavaScript是什么?

Javascript是一种基于对象和事件驱动的客户端直译式脚本语音(官方文档),

JavaScript由3部分组

ECMAScript描述了该语音的语法和基本对象;
DOM描述了处理网页的内容的方法和接口;
BOM描述了浏览器进行交互的方法和接口。

JavaScript特点:

脚本编写语音,基于对象的语音,简单性,动态性,安全性,跨平台性。

JavaScript书写方式(俩种):

<script type='text/javascript' src='js文件地址‘></script>

<script type="text/javascript">js内容</script>

js输出方式:

浏览器输出:document.write('输出内容');

控制台输出:console.log('内容');

浏览器提示框输出:alert('内容');

浏览器输入框输出:prompt(“请输入内容”);

confirm(' ')有确定,取消按钮的输出框;

标识符定义:

标识符是指变量、函数、属性的名字,或者函数的参数。

标识符命名规则:

1.标识符首字母不能是数字,可以是下划线( _ ),美元符($) ,或者字母开始。

2.标识符中其它字符可以是下划线(_)、美元符($)、字母或数字组成的。

3.严格区分字母的大小写。

4.不能使用关键字或保留字。

变量的定义:

可以改变的量。

7种数据类型:

数字(number)、文本或字符串(string)、布尔(boolean)、未定义(undefined)、空对象指针(null)、对象(object)、Symbol(独一无二的类型、es6新增的类型)。

语句!(重点)

条件语句:通过判断指定表达式的值来决定执行还是跳过某些语句。

if语句: if( 判断条件 ) {

条件成功执行的代码

} else{

否则执行的代码

}


if ( a = b ) {
   console.log(123);  //条件不成功 代码不执行
} else {
   console.log(321);  //条件不成功 代码执行
}

循环语句: for (初始化;条件判断;计数器变量更新){

要循环执行的代码(循环体)

}

for (var i=0; i<5; i++){
console.log(i);  // 输出0、1、2、3、4
}

for in 循环:var a=0;先定义初始值while(a<10条件判断){document.write(a,需要执行的代码);a++;计数器更新}


do while循环:var

a=0;先定义初始值do{document.write(a,需要执行的代码);a++;计数器更新} while(a<10条件判断)。

while循环和do while循环的区别,1.do while循环会无条件执行一次循环体而while循环不会。2.while循环是先判断,后执行。Do while循环是先执行,后判断。

函数 (function)(必用)

函数就是把完成特定功能的一些语句集合成一个独立的代码块,起个名字(函数名)。可以在同一个程序或其他程序中多次重复使用(通过函数名调用)。

函数的作用:1、使程序变得更简短而清晰;2、有利于程序维护;3、可以提高程序开发的效率;4、提高了代码的重用性(复用性)。

定义函数的两种方式:命名函数、匿名函数。

定义命名函数(有函数名):function 函数名(形参、实参,比如a){函数体;}。命名函数的调用:函数名();

定义匿名函数(没有函数名):function(){函数体};将函数赋值给一个变量:var fun = function(){函数体}。意思是将函数赋值给一个变量。调用方式:fun();

两个函数名不能相同,否则后一个函数会把前一个函数覆盖,这种情况叫做函数重载。

数组(array)

声明数组的两种方式:1.构造函数声明方式,var a=new

Array(元素1,元素2,元素3..)。2.隐式声明:var a=[1,2,3,4];

数组末尾添加:push()方法在数组末尾增加一个或多个元素。使用方式:a.push(添加的内容);

数组开头添加:unshift()方法向数组的开头加入新的元素,返回值是新数组的长度。可以一次添加多个元素。使用方式:a.unshift(添加的内容);

数组删除:使用delete运算符delete arr[2];

直接赋值null或“”;arr[3] = null; 前两种删除方法会保留位置(长度)。

a.pop()方法删除数组的最后一个元素,返回删除的元素,括号内写任何内容无效。a.pop();

a.shift()删除数组的第一个元素,返回删除的元素。括号内写任何内容无效。a.shift();

数组排序:将数组中的元素进行排序,并且返回排序后的数组。arr.sort(fun);function fun(a,b){ return a-b; //升序(从小到大)} functionfun(a,b){ return b-a; //降序(从大到小)}。

如果只使用sort()排序,将会按照数字首字母的大小进行升序排列。

arr.reverse ()将数组元素颠倒顺序(数组倒置);

arr.join(“任意分隔符,比如>,<”) 方法用于把数组转换成字符串。

concat() 方法合并两个或多个数组。

indexOf() 方法可返回某个指定的元素在数组中首次出现的位置。如果在数组中没找到字符串则返回 -1。

日期对象(date)

国际协调时间1970,1,1,0,0,0,0,就是1970年1月1日0时0分0秒0毫秒。在此时间之前为负,之后为正。

var 变量名=new Date();//为系统当前时间。

toString() 方法可把 Date 对象转换为字符串

toLocaleString() 方法可根据本地时间把 Date 对象转换为字符串,并返回结果。

valueOf() 方法返回 Date 对象的原始值。返回值为Number类型,返回当前Date对象所表示的时间距1970年1月1日午夜的毫秒数。

getTime() 方法可返回距1970 年 1 月 1 日凌晨之间的毫秒数。

setTime() 方法以毫秒设置 Date 对象。

获取日期信息的方法:

getFullYear() 从 Date 对象以四位数字返回年份。

getMonth() 从 Date 对象返回月份 (0 ~ 11)。注:用该属性获取月份时需要+1。

getDate() 从 Date 对象返回一个月中的某一天 (1 ~31)。

getDay() 从 Date 对象返回一周中的某一天 (0 ~6),星期几。

getHours() 返回 Date 对象的小时 (0 ~ 23)。

getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。

getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。

getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。

设置日期的方法:

setFullYear(需要设置的值) 设置 Date 对象中的年份(四位数字)。

setMonth(需要设置的值) 设置 Date 对象中月份 (0 ~ 11)。注:用该属性设置月份时,需要+1。

setDate(需要设置的值) 设置 Date 对象中月的某一天 (1 ~ 31)。

setHours(需要设置的值) 设置 Date 对象中的小时 (0 ~ 23)。

setMinutes(需要设置的值) 设置 Date 对象中的分钟 (0 ~ 59)。

setSeconds(需要设置的值) 设置 Date 对象中的秒钟 (0 ~ 59)。

setMilliseconds(需要设置的值) 设置 Date 对象中的毫秒 (0 ~ 999)。

字符串和Math(数学)对象

  1. toLowerCase()把字符串转化为全小写。

  2. toUpperCase()把字符串转换为大写。

BOM(浏览器对象模型)(难点)

Window核心对象,window的子级对象包括:document(文档)、history(历史记录)、location(URL)、navigator(浏览器信息)、screen(屏幕信息)

超时调用(一次性计时器)setTimeout

例如:var ID = setTimeout(fun,1000,3,4); function fun(a,b){ alert(a+b); }如上函数会在1000毫秒以后弹框输出7

清除超时调用(清除计时器),clearTimeout(要清除的定时器变量名);//可清除该定时器

间歇调用(计时器),setInterval

setInterval(function (){函数体的内容},1000)

DOM(文档对象模型)

DOM概念:DOM是“Document Object Model”(文档对象模型)的首字母缩写。

获取元素:(4种方式)

1.标签获取:document.getElementsByTagName(“标签名”)

2.类名获取:document.getElementsByClassname(’类名‘)

3.ID获取元素:document.getElementById(“ID名”)

4.通过标签的name值获取元素:document.getElementsByName(“要查找的name值”)

文档读取的四种方式: 标签ID名.innerHTML=(“要输出的内容”)

1 innerHTML 返回标签的开始和结束标签之间的HTML及文本2

2 outerHTML当前元素的开始标记和结束标记之间的所有文本和HTML标签(包括当前元素)

3 innerText属性设置或返回标签的开始和结束标签之间的文本

4 outerText 设置(包括标签)或获取(不包括标签)对象的文本

.getAttribute() 方法返回指定属性名的属性值

.setAttribute() 方法添加指定的属性,并为其赋指定的值

改变CSS样式语法:节点.style.属性名=“属性值”;例如:div.style.width=“100px”;

Event(事件)(重点)

onload:一张页面或一幅图像完成加载后触发。

onclick事件,在对象被点击时发生。

onresize:在窗口或框架被调整大小时发生

ondblclick:事件会在对象被双击时发生。

onfocus事件在对象获得焦点时。onblur事件在对象失去焦点时

onselect 事件在文本框中的文本被选中时发生

onchange事件在域的内容改变时发生

onreset事件会在表单中的重置按钮被点击时发生

onsubmit事件会在表单中的确认按钮被点击时发生

onmouseover:事件会在鼠标指针移动到指定的对象上时发生。

onmouseout:事件会在鼠标指针移出指定的对象时发生。

onmousedown:事件会在鼠标按键被按下时发生。

onmouseup:事件会在鼠标按键被松开时发生。

onkeydown:事件会在用户按下一个键盘按键时发生。

onkeyup:事件会在键盘按键被松开时发生。

onkeypress:事件会在键盘按键被按下并释放一个键时发生。

onmousemove:鼠标拖动

Event(事件)对象(难点)

event.keyCode:获得按键的code值(我们在程序里是怎么知道我们是按得哪个键呢,我们可以通过keyCode获得,程序员早在一开始就把键盘上的每一个键定义了一个code,在程序里我们可以判断值来知道我们点击了哪个键)

组合键发送代码:if(event.ctrlKey&&event.keyCode==13);

事件冒泡 由子级元素先触发,父级元素后触发 事件捕获则相反 由父级元素先触发,子级元素后触发

event.stopPropagation():终止事件在传播过程的捕获、目标处理或起泡阶段进一步传播

event.preventDefault() :取消事件的默认动作

event.clientX、event.clientY:鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条。IE事件和标准事件都定义了这2个属性

event.offsetX、event.offsetY:鼠标相对于事件源元素(触发事件的元素)的X,Y坐标,只有IE事件有这2个属性,标准事件没有对应的属性

event.screenX、event.screenY:鼠标相对于用户显示器屏幕左上角的X,Y坐标。标准事件和IE事件都定义了这2个属性

正则

点这里进入正则文档

上一篇下一篇

猜你喜欢

热点阅读