一,JavaScript是什么?
1,JavaScript简称:js,是一种浏览器解释型语言,嵌套在HTML文件中交给浏览器解释执行。主要用来实现网页的动态效果,用户交互及前后端的数据传输等。
2,JavaScript 组成
1,核心语法 - ECMAScript (ES5-ES6) 规范了JavaScript的基本语法
2.1 浏览器对象模型 :-BOM Browser Object Model,提供了一系列操作浏览器的方法
2.2 文档对象模型: -DOM Document Object Model ,提供了一系列操作的文档的方法
3. 使用方式
3.1元素绑定事件:
- 事件 :指用户的行为(单击,双击等)或元素的状态(输入框的焦点状态等)
- 事件处理:元素监听某种事件并在事件发生后自动执行事件处理函数
- 常用事件:onclick (单击事件)
- 语法 :将事件名称以标签属性的方式绑定到元素上,自定义事件处理
<!--实现点击按钮在控制台输出-->
<button onclick="console.log('Hello World');">点击</button>
3.2文档内嵌:使用<script type="text/javascript"></script>标签书写。
<script type="text/javascript">
alert("网页警告框");
</script>
注意 :<script></script>标签可以书写在文档的任意位置,书写多次,一旦加载到script标签就会立即执行内部的JavaScript代码,因此不同的位置会影响代码最终的执行效果
3.3外部链接:创建外部的JavaScript文件 XX.JavaScript,在HTML文档中使用<script src=""></script>引入
<script src="index.JavaScript"></script>
注意 :<script></script>既可以实现内嵌 JavaScript 代码,也可以实现引入外部的 JavaScript 文件,但是只能二选一。
3.44 JavaScript 输入和输出语句:
alert("");普通的网页弹框 console.log();控制台输出,多用于代码调试 document.write("<h1>Hello</h1>");实现在动态在网页中写入内容,
可以识别HTML标签,脚本代码可以在文档任何地方书写,如果是普通写入(不涉及事件),
区分代码的书写位置插入
二、基础语法
1.,语法规范:
JavaScript是由语句组成,语句由关键字,变量,常量,运算符,方法组成。
分号可以作为语句结束的标志,也可以省略
JavaScript严格区分大小写
注释语法 单行注释使用 // 多行注释使用 /* */
2. JavaScript的变量与常量:
1,变量:
1.1作用 : 用于存储程序运行过程中可动态修改的数据
1.2语法 : 使用关键var声明,自定义变量名
var a; //变量声明
a = 100; //变量赋值
var b = 200; //声明并赋值
var m,n,k; //同时声明多个变量
var j = 10,c = 20; //同时声明并赋值多个变量
1.3 命名规范 :
变量名,常量名,函数名,方法名自定义,可以由数字,字母,下划线,$组成,禁止以数字开头
禁止与关键字冲突(var const function if else for while do break case switch return class)
变量名严格区分大小写
变量名尽量见名知意,多个单词组成采用小驼峰,例如:"userName"
1.4使用注意 :
变量如果省略var关键字,并且未赋值,直接访问会报错
2,变量使用var关键字声明但未赋值,变量初始值为undefined
3,变量省略var关键字声明,已被赋值,可正常使用,影响变量作用域
2,常量
2.1 作用 : 存储一经定义就无法修改的数据
2.2 语法 : 必须声明的同时赋值
const PI = 3.14;
2.3 注意 :
常量一经定义,不能修改,强制修改会报错
命名规范同变量,为了区分变量,常量名采用全大写字母
2.4操作小数位:
toFixed(n); 保留小数点后 n 位,并且四舍五入。
使用 :
var num = 3.1415926;
//保留当前变量小数点后两位
var res = num.toFixed(2);
3. 数据类型
3.1number 数值类型:
整数:
十进制表示
var a = 100;
八进制表示 以0为前缀
var b = 021; //结果为十进制的 17
使用 : 整数可以采用不同进制表示,在控制台输出时一律会按照十进制输出
小数:
var m = 1.2345;
科学计数法 例 : 1.5e3 e表示10为底,e后面的数值表示10的次方数 1.5e3 等价于 1.5 * 10(3)
3.2string 字符串类型:
字符串:由一个或多个字符组成,使用""或''表示,每一位字符都有对应的Unicode编码
var s = "100";
var s1 = "张三";
3.3boolean 布尔类型:
只有真和假两个值,布尔值与number值可以互相转换。true 为 1,false 为 0
var isSave = true;
var isChecked = false;
3.4undefined 特殊值:
变量声明未赋值时显示undefined
var a;
console.log(a);//undefined
3.5null 空类型 :
定义对象引用时使用null,表示对象为空
- 引用数据类型 主要指对象,函数等
- 检测数据类型 typeof 变量或表达式 typeof (变量或表达式)
var n = "asda";
console.log(typeof n);//string
console.log(typeof(n));//string
4. 数据类型转换
不同类型的数据参与运算时,需要转换类型
4.1强制类型转换
1,转换字符串类型 方法:toString() 返回转换后的字符串
var a = 100;
a = a.toString(); //"100"
var b = true;
b = b.toString(); //"true"
2,转换number类型
Number(param) 参数为要进行数据类型转换的变量或值,返回转换后的结果: 如果转换成功,返回number值 如果转换失败,返回NaN,(Not a Number),是非number字符,一律转换失败,返回 NaN
4.2隐式类型转换(自动转换)
当字符串与其他数据类型进行"+"运算时,表示字符串的拼接,不再是数学运算 转换规则 :将非字符串类型的数据转换成字符串之后进行拼接,最终结果为字符串
其他情况下,一律将操作数转number进行数学运算
5. 运算符
5.1赋值运算符:
= 将右边的值赋给左边变量
5.2算数运算符:
+ - * / % 加 减 乘 除 取余
5.3符合运算符:
+= -= *= /= %=
5.4 自增或自减运算符:
++ -- 变量的自增和自减指的是在自身基础上进行 +1或-1 的操作
注意:自增或自减运算符在单独与变量结合时,放前和放后没有区别,如果自增或自减运算符与其他运算符结合使用,要区分前缀和后缀,做前缀,那就先++/--,再进行赋值或其他运算,如果做后缀,就先结合其他运算符,再进行++ / --
5.5关系运算符/比较运算符:
> <
>= <=
==(相等) !=(相等)
===(全等) !==(不全等)
1,关系运算符用来判断表达式之间的关系,结果永远是布尔值 true/false
2,使用
字符串与字符串之间的比较 依次比较每位字符的Unicode码,只要某位字符比较出结果,就返回最终结果
-
str.charCodeAt(index)
方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数
index必需。表示字符串中某个位置的数字,即字符在字符串中的下标。
3,相等与全等
相等:不考虑数据类型,只做值的比较(包含自动类型转换)
全等:不会进行数据类型转换,要求数据类型一致并且值相等才判断全等
5.6逻辑运算符:
&& 逻辑与 :表达式同时成立,最终结果才为true;1则1
|| 逻辑或 :表达式中只要有一个成立,最终结果即为true;有1则1
! 逻辑非 :对已有表达式的结果取反 注意:除零值以外,所有值都为真
5.7三目运算符:
语法 :
表达式1 ? 表达式2 : 表达式3;
过程 :
判断表达式1是否成立,返回布尔值;
如果表达式1成立,执行表达式2;
如果表达式1不成立,执行表达式3;
三、DOM 元素和事件
什么是事件?:事件是指用户的行为或元素的状态。由指定元素监听相关的事件,并且绑定事件处理函数。
事件处理函数:元素监听事件,并在事件发生时自动执行的操作。
1,事件函数分类
1.1 鼠标事件:
onclick //单击
ondblclick //双击
onmouseover //鼠标移入
onmouseout //鼠标移出
onmousemove //鼠标移动
1.2文档或元素加载完毕:
onload //元素或文档加载完毕
1.3表单控件状态监听:
onfocus //文本框获取焦点
onblur //文本框失去焦点
oninput //实时监听输入
onchange //两次输入内容发生变化时触发,或元素状态改变时触发
onsubmit //form元素监听,点击提交按钮后触发,通过返回值控制数据是否可以发送给服务器
2,获取元素节点
2.1根据标签名获取元素节点列表:
var elems = document.getElementsByTagName("");
/*
参数 : 标签名
返回值 : 节点列表,需要从节点列表中获取具体的元素节点对象,添加相应下标。
*/
2.2根据 class 属性值获取元素节点列表:
var elems = document.getElementsByClassName("");
/*
参数 : 类名(class属性值)
返回值 : 节点列表
*/
2.3根据 id 属性值取元素节点:
var elem = document.getElementById("");
/*
参数 : id属性值
返回值 : 元素节点
*/
2.4根据 name 属性值取元素列表:
var elems = document.getElementsByName("");
/*
参数 : name属性值
返回 : 节点列表
*/
3,事件绑定方式
3.1内联方式: 将事件名称作为标签属性绑定到元素上
例 :
<button onclick="alert()">点击</button>
3.2动态绑定 :获取元素节点,动态添加事件
例 :
btn.onclick = function (){
};
JavaScript的基础语法及DOM元素和事件的更多相关文章
-
JavaScript编程:javaScript核心基础语法
1.javaScript核心基础语法: javaScript技术体系包含了5个内容: 1.核心语言定义: 2.原生对象和雷子对象: 3.浏览器对象 ...
-
(三)Jsoup 使用选择器语法查找 DOM 元素
第一节: Jsoup 使用选择器语法查找 DOM 元素 Jsoup使用选择器语法查找DOM元素 我们前面通过标签名,Id,Class样式等来搜索DOM,这些是不能满足实际开发需求的, 很多时候我们需要 ...
-
Js为Dom元素绑定事件须知
为异步加载的Dom 元素绑定事件必须在加载完成之后绑定: $('body').load('LearnClickBinding.ashx');$('a').click(function () { ale ...
-
JavaScript 正则表达式基础语法
前言 正则表达式在人们的印象中可能是一堆无法理解的字符,但就是这些符号却实现了字符串的高效操作.通常的情况是,问题本身并不复杂,但没有正则表达式就成了大问题.javascript中的正则表达式作为相当 ...
-
11月8日上午Jquery的基础语法、选取元素、操作元素、加事件、挂事件及移除事件
jquery基础知识 1.jquery文件的引入,所有的js代码要写在下面那段代码下面. <script src="../jquery-1.11.2.min.js">& ...
-
JavaScript的基础语法,你真的了解吗?
这篇文章是在我们熟悉了JS的基础语法后,很少有人去关注的一些细节部分.如果掌握了某些细节也许会对代码的改善有着非凡的作用.也许会使我们的代码更严谨,更高效. 1.if语句的条件 if条件中,括号里是布 ...
-
Jsoup(三)-- Jsoup使用选择器语法查找DOM元素
1.Jsoup可以使用类似于CSS或jQuery的语法来查找和操作元素. 2.实例如下: public static void main(String[] args) throws Exception ...
-
JavaScript的基础语法
对于Javascript的而言没有数据类型的全部都是通过var来定义创建的.比如: <!DOCTYPE html> <html> <head> <meta c ...
-
笔记:javascript操作iframe内的DOM元素,及调用iframe内的方法
iframe相当于一个嵌入在网页内的浏览器,它与当前网页是隔离的. 但有时我们也需要在当前网页操作iframe内的元素或操作iframe内的javascript方法. 在网页内操作DOM元素,是使用d ...
随机推荐
-
《图解HTTP》读书笔记
目前国内讲解HTTP协议的书是在太少了,记忆中有两本被誉为经典的书<HTTP权威指南>与<TCP/IP详解,卷1>,但内容晦涩难懂,学习难度较大.其实,HTTP协议并不复杂,理 ...
-
VMware Ubuntu Kaldi
1.VMware10.0 秘钥网上搜就好了 2.ubuntu12.04 (1)安了几次14.04,16.04,12.04,最后窗口和分辨率的bug 还是没有解决 (2)终端显示菱形乱码的解决:直接用英 ...
-
Fiddler-1 安装
1 进入Fiddler官网:http://www.telerik.com/fiddler 点击[Free download]:填写一些信息后就可以下载. 2 双击安装包--下一步dinghanhua下 ...
-
char指针
1.在C语言中,没有字符串类型,因此使用char指针表示字符串. 2.那么问题来了,使用char* 表示字符串,到哪里是结尾呢?因此需要一个特殊的字符作为哨兵,类似迭代器中的end(),这个哨兵就是' ...
-
java信号量PV操作 解决生产者-消费者问题
package test1; /** * 该例子演示生产者和消费者的问题(设只有一个缓存空间.一个消费者和一个生产者) * MySystem类定义了缓冲区个数以及信号量 * @author HYY * ...
-
用JQUERY为INPUT的TXT类型赋值及取值操作
注意和纯JS操作的区别,一个是对象,一个是字串,如下说明: 在Jquery中,用$("#id")来获得页面的input元素,其相当于document.getElementById( ...
-
Android Studio .grade文件知识
1.位置 2.问题:当AndroidStudio版本不同的时候,导致.gradle文件版本不同(当前为2.10),因为AndroidStudio升级的时候会自动升级.gradle.这样通过svn加载到 ...
-
HDU 5281 Senior&;#39;s Gun
Senior's Gun Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Tot ...
-
在cocos2d-x在CCTableView使用控制
头文件需要继承CCTableViewDataSource和CCTableViewDelegate //CCScrollViewDelegate virtual void scrollViewDidSc ...
-
Shell脚本学习 - 函数,输入输出重定向,文件
函数 函数定义 [ function ] funname [()] { action; [return int;] } 定义时可以是function fun(),也可以直接fun(),不带参数 返回值 ...