关于JavaScript BOM&DOM&Ajax

JavaScript基础及其BOM
1.JavaScript简介
1.1.JavaScript是一种解释性脚本语言(代码不进行预编译),由浏览器解释执行,用来向页面添加交互行为;
1.2.Java Script由三个主要组成部分:ECMAScript(核心),BOM(浏览器对象模型),DOM(文档对象模型);

(1)核心(ECMAScript):这一部分主要是js的基本语法。

(2)BOM:Brower Object Model(浏览器对象模型),主要是获取浏览器信息或操作浏览器的,例如:浏览器的前进与后退、浏览器弹出提示框、浏览器地址栏输入网址跳转等操作等。

(3)DOM:Document Object Model(文档对象模型),此处的文档暂且理解为html,html加载到浏览器的内存中,可以使用js的DOM技术对内存中的html节点进行修改,用户从浏览器看到的是js动态修改后的页面。(增删改查)

注 、语句、关键字、保留字、运算符和对象等。DOM是把整个文档中的所有节点解析成一个一个对象,并且这些对象之间会形成一个层级关系。通过DOM我们可以对文档中所有节点做CRUD操作。BOM是浏览器的一种特性,它可以对浏览器窗口进行访问和操作,例如移动、关闭窗口,调整窗口的大小等;
2.JavaScript三种写法
2.1.行内JS
1.行内JS使用几率较少,只有针对某些标签的特殊操作:
语法:点我,点我…
2.上述代码中,我们将JS代码写在href属性中,这样我们在点击链接的时候,执行的就不是跳转地址,而是其中的JS代码;
3.javascript:这是伪协议的意思,类似咱们http:,伪协议是为了告诉浏览器接下来的代码是JS代码,当然部分地方可以省略,但建议写上伪协议;
4.alert(参数值)是用来弹出一个提示框,弹框中的提示信息即为传入的参数值,弹框是JS的重要调试手段之一;
5.console.debug()也是JS的一种调试手段,但此种调试手段在IE上不支持;
2.2.内部JS
1.页面内的JS是写在一组
示例代码:

`

2.3.外部JS
1.外部JS方式,其实就是先单独定义一个JS文件,然后将这个JS文件与要使用的网页将关系关联起来;
引入外部JS文件:

2.引入CSS文件使用标签,引入JS文件而是使用

2.在JS中,1/0并不会报错,因为JS语法中0是取值了一个无限趋近于0的一个数字
4.1.3.非数
1.非数:不是数字,在JS中采用NAN来表示,同样在JS中采用了isNaN()函数来判定当前字符是否真的不是数字;
var n1=123;
var n2=’aaa’;
console.debug(n1/n2); //NaN
console.debug(isNaN(n1/n2)); //true
2.NaN这个特殊字符比较有意思的地方在于:
(1)与任何值均不相等,包括自己本身;
(2)任何涉及NaN的操作都会返回NaN;
4.2.boolean(布尔类型)
1.布尔类型和Java一样,采用true和false表示;
2.注释:在JS语法中,0、NaN、Undefined、空字符串、null均可以表示为false;
4.3.string(字符串类型)
1.JS语法中不存在char类型,所以由单引号或双引号括起来的字符序列,任何字符串的长度都可以通过访问length属性获得;
4.4.null(空对象)
1.表示一个不存在的对象,只有一个值null;
4.5.undefined(未定义或未初始化)
1.表示声明但未赋值的对象,Undefined派生自null;
2.如果我们做 *、/如果有字符串,它会尝试去转换成number来进行运算,如果转换失败(NaN);
4.6.Js中真假判断
1.在js中,所有的变量都可以判断真假。一般认为有内容或存在的(值或对象,0除外)进行判断时就是true值,而没有内容或不存在的("",undefined,null等等)进行判断时就是false值;
2.0、""、undefined、NaN、null、false(基本数据类型的false)为false,其他值都为true(包括{}、[]);
示例代码:

5.JavaScript运算符
在JS中同样存在算术运算符、等性运算符、逻辑运算符的操作,这些运算符的操作和JAVA一样,接下来我们演示与JAVA不一样的地方;
5.1.赋值运算符

注:赋值运算符的使用和Java一样;
5.2.算术运算符

注释:在JS中+运算符中有字符串的应用,会演变为字符串的拼接;
var x=3 + “3”;
console.debug(x); //33
5.3.比较运算符(关系运算符)
1.比较运算符用于判断两个变量大小关系:>、<、、<=、>=、=、!=、!=,其中:
(1)
:代表相等(它只比较内容,不比较类型)
(2)=:绝对相等(先比较类型,再比较内容)
(3)!
:绝对不等
var x=10;
var y=”10”;
console.debug(xy); //true
console.debug(x
=y); //false
console.debug(x!==y); //true
5.4.逻辑运算符
&& :逻辑AND运算符,一假遍假
|| :逻辑OR运算符 ,一真遍真
! :逻辑NOT运算符,真为假,假为真
var x=0||1;
console.debug(x); //1
1.逻辑或运算符从第一个值开始找,如果找到一个值代表true,那么就返回这个值
6.JavaScript流程控制
JS中同Java一样存在流程控制语句,用法一样:
1.分支:
(1)if语句
(2)switch语句
2.循环:
(1)while语句
(2)do-while语句
(3)for循环
3.break/continue语句
4.三目表达式
7.JavaScript函数
1.函数是一组可以随时运行的代码语句,此处大家可以理解为方法;
2.函数作用:可以避免载入时执行,可以被多次调用;
7.1.语法
function 函数名(参数列表){
JS代码
[return 返回值;]
}
1.JS中函数的定义使用function关键字,这一点是和Java不一样的地方,同时允许函数具备返回值,返回值采用关键字return,如果函数没有定义返回值,接收到的将是一个undefined;
function $action(){
console.debug(“函数定义测试”);
}
var x = $action(); //使用函数名完成函数调用,并定义一个变量接收返回值
console.debug(x); //输出undefined,因为函数中并没有定义返回值
2.上述代码中我们可以看到直接使用函数名即可完成针对函数的调用;
3.针对带参数的函数,个数与类型对它没有任何影响(都可以调用)。只要调用的函数名称是对的(函数名称不可以重名),但推荐如何定义就如何使用;
4.JS中函数传参不需要声明;
7.2.全局变量和局部变量
var msg=“显示全局变量”;
function show(){
msg=“隐式全局变量”;
}
show();
console.debug(msg); //隐式全局变量,需要先调用方法才能访问该变量

var msg2=“全局变量”;
function show2(){
var msg2=“局部变量”;
}
show2();
console.debug(msg2);//全局变量
7.3.匿名函数语法
1.匿名函数顾名思义就是一个没有定义名称的函数:
function (参数列表){
JS代码
[return 返回值;]
}
var action = function(){
console.debug(“前方高能,请非战斗人员迅速撤离”);
}
action();
8.JavaScript对象
1.js的对象有三大类,内部对象(本地对象和内置对象)、宿主对象和自定义对象;
2.内部对象包括本地对象和内置对象;
(1)本地对象可以new实例,方法或函数式通过实例调用的;
(2)内置对象不能使用new关键字创建实例,方法调用也不需要通过实例去调用;
3.宿主对象指的是BOM和DOM中的所有对象;
4.自定义对象就是开发人员自己定义的对象;
8.1.本地对象
1.本地对象就是 就是 ECMA-262 定义的类(引用类型);
2.这些引用类型在运行过程中需要通过new来创建所需的实例;
3.包括:Object、Boolean、Number、Date、String、Array等,重点掌握Date和String,其它的到API里去找即可;
8.1.1.Date
日期对象
8.1.1.1.API

8.1.1.2.代码示例
需求:将转换日期的代码封装成方法,重复使用:
//1.创建一个对象
var date = new Date();
//2.给这个对象添加方法

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值