JS(JavaScript 是世界上最流行的脚本语言。 JavaScript 是属于 web 的语言,它适用于 PC、笔记本电脑、平板电脑和移动电话。 JavaScript 被设计为向 HTML 页面增加交互性。 许多 HTML 开发者都不是程序员,但是 JavaScript 却拥有非常简单的语法。)
1.在JS中 es5版本使用var来声明变量 es6中使用let声明变量
例如:
在js中,赋值、变量几乎和python之类的没有区别,例如:
如果在变量赋值时,没有在前面添加var,则该变量会变成全局变量
2.变量提升:JS的工作方式,是先解析代码,获取变量然后再运行。
3.标识符
在JS中所有的我们可以自主命名的都可以称之为 标识符。例如:变量名、函数名、属性名都属于标识符。
命名一个标识符需要遵守如下规则:
(1)标识符中可以含有字母,数字,下划线 _,$
(2)标识符不能以数字开头。用字母,下划线 _,$开头都没问题
(3)标识符不能是ES中的关键字或是保留字;
4.注释:以<<!–为首 , 结尾以-- >>
5.条件语句
if 结构
if结构先判断一个表达式的布尔值,然后根据布尔值的真伪,执行不同的语句。所谓布尔值,指的是 JavaScript 的两个特殊值,true表示“真”,false表示“伪”。
if…else 结构
if代码块后面,还可以跟一个else代码块,表示不满足条件时,所要执行的代码。
if (条件) {
// 满足条件时,执行的语句
} else {
// 不满足条件时,执行的语句
}
switch 结构
多个if…else连在一起使用的时候,可以转为使用更方便的switch结构。
switch (fruit) {
case "banana":
// ...
break;
case "apple":
// ...
break;
default:
// ...
}
循环语句
包括while和for
while 循环
While语句包括一个循环条件和一段代码块,只要条件为真,就不断循环执行代码块
while (条件)
语句;
// 或者
while (条件) 语句;
for 循环
for语句是循环命令的另一种形式,可以指定循环的起点、终点和终止条件
for (初始化表达式; 条件; 递增表达式)
语句
// 或者
for (初始化表达式; 条件; 递增表达式) {
语句
}
break 语句和 continue 语句
break
语句和continue
语句都具有跳转作用,可以让代码不按既有的顺序执行。
break
语句用于跳出代码块或循环。
continue
语句用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环。
window对象
window对象
首先,我们的变量如果不做任何声明,它就默认是在顶层,也就是我们的window对象中,例如:
window.window和window.self表示的是它本身
Window.atob和window.btoa这两个是一对编码解码,两者可以互相转换,例如:
Window对象中的三个弹窗
Window.alert window.prompt window.confirm
其中:window.prompt
()的返回值有两种情况,可能是字符串(有可能是空字符串),也有可能是null。具体分成三种情况。
用户输入信息,并点击“确定”,则用户输入的信息就是返回值。
用户没有输入信息,直接点击“确定”,则输入框的默认值就是返回值。
用户点击了“取消”(或者按了 ESC 按钮),则返回值是null。
t window.confirm:点了确定返回的是true 或者false
鼠标事件嘛,
设置一个输入框
Onfoucs,聚焦事件与之相反的则是onblur则为失焦事件
Onerror
例如, 我们添加一张照片,然后这个照片是不存在的,我们就可以在后面写onerror,就可以接我们的js语言了。例如:
window.frameElement
window.frameElement属性主要用于当前窗口嵌在另一个网页的情况(嵌入、或元素),返回当前窗口所在的那个元素节点。如果当前窗口是顶层窗口,或者所嵌入的那个网页不是同源的,该属性返回null。(返回嵌入当前window对象的元素(比如 或者 ),如果当前window对象已经是顶层窗口,则返回null.)
Location 对象,URLSearchParams 对象
Location 对象
Location
对象是浏览器提供的原生对象,提供 URL 相关的信息和操作方法。通过window.location
和document.location
属性,可以拿到这个对象。
属性
-
Location.href
:整个 URL。 -
-
Location.protocol
:当前 URL 的协议,包括冒号(:
)。 -
-
Location.host
:主机。如果端口不是协议默认的80
和433
,则还会包括冒号(:
)和端口。 -
-
Location.hostname
:主机名,不包括端口。 -
Location.port
:端口号。 -
Location.pathname
:URL 的路径部分,从根路径/
开始。 -
Location.search
:查询字符串部分,从问号?
开始。 -
Location.hash
:片段字符串部分,从#
开始。 -
Location.username
:域名前面的用户名。 -
Location.password
:域名前面的密码。 -
Location.origin
:URL 的协议、主机名和端口。
URLSearchParams 对象
URLSearchParams
对象是浏览器的原生对象,用来构造、解析和处理 URL 的查询字符串(即 URL 问号后面的部分)。
它本身也是一个构造函数,可以生成实例。参数可以为查询字符串,起首的问号?
有没有都行,也可以是对应查询字符串的数组或对象。
// 方法一:传入字符串
var params = new URLSearchParams('?foo=1&bar=2');
// 等同于
var params = new URLSearchParams(document.location.search);
// 方法二:传入数组
var params = new URLSearchParams([['foo', 1], ['bar', 2]]);
// 方法三:传入对象
var params = new URLSearchParams({'foo' : 1 , 'bar' : 2});
URLSearchParams.toString()
toString
方法返回实例的字符串形式。
URLSearchParams.append()
append()
方法用来追加一个查询参数。它接受两个参数,第一个为键名,第二个为键值,没有返回值。
URLSearchParams.delete()
delete()
方法用来删除指定的查询参数。它接受键名作为参数。
URLSearchParams.has()
has()方法返回一个布尔值,表示查询字符串是否包含指定的键名。
var params = new URLSearchParams({'foo': 1 , 'bar': 2});
params.has('bar') // true
params.has('baz') // false
URLSearchParams.set()
set()
方法用来设置查询字符串的键值。
它接受两个参数,第一个是键名,第二个是键值。如果是已经存在的键,键值会被改写,否则会被追加。