JavaScript
-
什么是javaScpript?
-
简称js , 是一门独立的编程语言 完成页面动态页面效果的技术.
-
js是使用在HTML的技术
-
javaScript和java没关系 ;js全称:ECMAScript ,W3C
-
js是一门解释性的编程语言
-
-
- 编译型 : C C++ 编译型语言不能跨平台,运行效率高.
-
- 解释型: js 解释型语言可以跨平台 运行效率低
- js的解释器是浏览器
-
- IE内核:IE浏览器
-
- WebKi内核 : Google ,支持最标准的ECMAScript(js)
- 语法
-
- 将数据打印到浏览器页面 document.write("Hello");
-
- 在浏览器弹框提示 alert("Hello");
-
- 浏览器控制台打印 console.log("Hello"); console.info("Hello");
-
- 注意: js 语法要求松散 解释型的编程语言 逐行解释运行,不加分号也行.
- js是一门独立的编程语言
-
- js弱类型的编程语言
-
- 强类型的编程语言 , java ,变量 ,变量类型 ,数据类型 必须一致
-
js的数据类型
- 变量
-
变量,没有变量类型: 关键字:var.
-
数字类型 不分整数,浮点数.
-
字符串类型 不分String,char
-
布尔类型 trun | false 真|假 非0 | 0 真|假 非null | null 真|假 - 可以用于判断条件
-
特殊类型 NAN:Not A Number 不是一个数字,数字计算有误 undefined: - 声明变量之后,没有赋值,直接使用 - 直接使用没有声明的变量, not defined ,类似undefined - 通过变量手工赋值为null - 函数的返回值 返回为null - 关键字 :typeof 变量, 获取
- js的运算符
-
== : 判断的是值 === : 判断值和类型
判断两个变量是否相等,js中没有:变量equals
-
逻辑运算符 : && || ! 三元运算符: a > b ? true : false
- 流程控制
和java一样. - 函数 [重点]
- 函数的声明
-
- java访问修饰符,返回值,方法名,参数表,方法体 - js 函数: function,方法名,参数表,方法体 - js方法的声明 - function add (参数列表直接写变量名) { 方法体} - js方法的调用 - add(传参);
- 特殊的函数定义和使用
-
- 通过变量存储函数 - 匿名函数,函数没有名字 - 函数可以作为其它函数的参数 - 将定义好的函数作为 另外一个函数的参数 - 匿名函数作为另外一个函数的参数 - 函数参数可以不按照规定传递 - 传递的参数比函数规定的参数多 ,函数只会选取对应个数的参数 - 传递的参数比函数规定的参数少,可能会出错 - 内置对象: arguments 代表函数运行时的参数的相关内容,用arguments判断函数参数的相关内容,个数,类型(增强函数的健壮性).
- 对象
-
JavaScript类(类似)面向对象的编程语言,js有对象,没有类概念.
- 自定义对象
-
定义方式1: - var 引用名 = new Object(); 获取对象属性 - 获取属性并赋值 引用名.属性名=值; - 获取属性值 引用名.属性名 对象中有方法 - js中没有方法的概念 - 通过属性+函数,模拟方法 - 引用名.get属性名() = function(){ return this.属性名;} - 引用名.set属性名() = function(参数){ this.属性名=参数;} 定义方式2: - json串 特定形式的字符串 里面是{key,value}键值对 - var 引用名 = { 属性名 : 值, 属性名 : 值, get方法名 : function (){ - this.属性}, - }
- 内置对象
-
- 数组 (重点) Array Java:数组定长,元素类型相同 js 数组 : 不定长元素也可以不相同,等价与java中的ArrayList集合 - 创建数组1 var arr = new Array() ; - 创建数组2 : var arr2 = [ 1,2,3,4,5]; - 添加元素和获取,操作方式:下标 arr[0]=1; arr[1] ="jfx"; - 遍历for循环 方式1: for(var i= 0 ; i<arr.length;i++){ 要遍历的数组下标 } - forEach遍历 - index数组的下标 ,右边要遍历的数组或者集合 方式2: for ( index in arr){ arr[index]; } - 数组中的方法 - arr.pop();弹栈,移除数组的最后一个元素 - arr.push();压栈,将元素存储到数组的末尾 - arr.sort(functions(a,b){ a>b return -1 降序 大的在前小的在后 a<b return 1 升序 小的在前大的在后 };对数组进行排序,倒叙排列元素内容.
- 字符串
js中的数据类型,在js中不区分字符和字符串
-
- 定义方式1: var s = "www"; var s2 = ' c ' ; 获取字符串指定位置的字符 s.charAt(position); 获取字符串指定位置的字符Ascii编码 s.charCodeAt(position) 获取字符串的长度 s.length()
- 日期 Date
-
- 创建日期类型的对象 var d = new Date(); - 获取日期的方法 d.getFullYear();年 d.getMonth()+1;月 d.getDate();日 d.getDay();周 d.getHours();小时 d.getMinutes();分钟 d.getSeconds();秒 d.getMilliseconds();毫秒
- Math 数学 数学相关的工具
-
- 获取0-1之间的随机数 Math.random() * ?; - 获取一个数的平方根 Math.sqrt(num);
[重点]
10. js的事件编程-
js编程方式,事件驱动编程
事件三要素: - 事件源头:发生事件的对象 - 事件属性:性质,动词,殴打 - 事件监听:发生事件后的处理内容
-
js编程事件的三要素
1. 事件源头:HTML的标签
2. 事件属性:发生事件的性质 鼠标点击 键盘按下弹起
3. 事件监听:发生对应事件后进行的处理内容 使用function-
常用的事件监听属性 鼠标 - onclick 鼠标的单击事件 - ondbclick 鼠标的双击事件 - onmouseover 鼠标移入事件 - onmouseout 鼠标移出事件 - body onload 在页面加载完成之后执行 - form onsubmit 提交表单时触发 onblur 丢失焦点 onfocus 获取焦点 - select onchange 针对下拉列表 下拉列表修改时会触发 键盘 - onkeydown 监听键盘的按下 - onkeyup 监听键盘的弹起
-