JS:JavaScript,是一种解释性脚本语言(代码不进行预编译),由浏览器解释执行,用来向页面添加交互行为
JS的三个主要组成部分:
1、ECMAScript:核心,描述了Js的基本语法:类型、语句、关键字、保留字、运算符和对象等,大部分浏览器支持的是ES5,不支持ES6
2、BOM(浏览器对象模型):是浏览器的一种特性,它可以对浏览器窗口进行访问和操作,例如移动、关闭窗口,调整窗口的大小等;
3、DOM(文档对象模型):是把整个文档中的所有节点解析成一个一个对象,并且这些对象之间会形成一个层级关系。通过DOM我们可以对文档中所有节点做CRUD操作。
=======================================================================
JavaScript三种写法
1.行内JS使用几率较少,只有针对某些标签的特殊操作:
<a href="javascript:alert('点你就点你');">点我,点我...</a>
javascript:这是伪协议的意思,类似http:,伪协议是为了告诉浏览器接下来的代码是JS代码,当然部分地方可以省略,但建议写上伪协议;
2.内部JS
<script type="text/javascript">
alert(“不点我也来”);
</script>
3.外部JS
先单独定义一个JS文件,然后将这个JS文件与要使用的网页将关系关联起来;
引入外部JS文件:一定是双标签,就是相当于将js代码放在标签之间
<script type="text/javascript" src="JS文件位置"></script>
==================================================================
Js中真假判断
在js中,所有的变量都可以判断真假。一般认为有内容或存在的(值或对象,0除外)进行判断时就是true值,而没有内容或不存在的(0、""、undefined、NaN、null、基本数据类型的false)进行判断时就是false值
===================================================================
对象的动态赋值或取值
<script type="text/javascript">
/**
* 创建对象有2总方式:
* 方式1: 采用new 类型() let obj = new Object();
* 方式2: JSON对象创建 let json = {};
*
* 赋值有2种方式:
* 方式1: 对象.属性 = 值; obj.age = 22;
* 方式2: 对象["属性"] = 值 json["age"] = 50;
*
* 取值有2种方式:
* 方式1: 对象.属性;
* 方式2: 对象["属性"]
*
*
* 总结: 动态设置值和普通设置值效果是一样的,只是语法不一样而已
* 动态取值和普通取值同理
*/
//循环动态赋值
for(var k in json){
json[k] = "";
}
</script>
===================================================================
一些特别的点
1、任何字符串的长度都可以通过访问length属性获得
2、方法中不使用var定义的变量叫隐式全局变量,想要使用它,就必须先执行一遍方法
3、有三大类对象:内部对象(本地对象和内置对象)、宿主对象和自定义对象