一、js的组成
- ECMAScript(ES) : 负责翻译,为js的核心,解释器。
- DOM (Document Object Model 文档对象模型):赋予js操作HTML的能力,document。
- BOM (Browser Object Modal 浏览器对象模型):赋予js操作浏览器的能力,window,不兼容不建议使用。
二、javascript嵌入方式
JavaScript代码可以直接嵌在网页的任何地方,不过通常我们都把JavaScript代码放到<head>中。 JavaScript代码块一般放在script标签中。
- 嵌入式 嵌入在html的<script>标签中
- 外部引入 单独的js文件,后缀名以.js结尾
- 事件定义 嵌入在html标签的属性中
1.内嵌式
嵌入在HTML的<script>标签中
<html >
<head>
<title>标题</title>
<script type=“text/javascript”>
// alert(“hello world”) ;
// alert(“中国”) ;
alert(123) ;
</script>
</head>
<body>
</body>
</html>
2.外链式
1.文件扩展名为 .js
2.Js文件内写程序代码,如 alert("一个对话框");
在网页中使用<script src=“这里是js程序文件路径”></script>引入
如
<html>
<head>
<title>标题</title>
<script type=”text/javascript” src="ini.js"></script>
</head>
<body>
</body>
</html>
3.其他事件
onclick ,当鼠标点击一下时执行一次
onmouseover ,当鼠标放上去时执行一次
onmouseout ,当鼠标移出去时执行一次
onmousedown ,当鼠标按下时执行一次
onmouseup ,当鼠标在上面松开(弹起)时执行一次
ondblclick ,当鼠标双击时执行一次 onload ,当对象加载完成时执行一次
……….
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<button onclick="alert(2012);">按钮</button>
<div ondblclick="alert('中国');">hello</div>
</body>
</html>
三、javascript注释方式
JavaScript 注释可用于提高代码的可读性。
注释:
- // 单行注释
- /*…*/ 多行注释
四、javascript输出方式
- alert(“内容”); //警告框
- document.write(“内容”); //向文档写入 HTML 表达式或 JS代码
- console.log() 控制台输出 工作中调试常用
- alert()函数会阻断JavaScript程序的执行,从而造成副作用;
- console.log()仅在控制台中打印相关信息,因此不会造成类似的顾虑
五、变量类型
1.基本数据类型:
- 字符串 string
- 数字 number
- 布尔 boolean (true / false)
- null 表示一个“空”的值 可用来清空变量
- undefined (Undefined 这个值表示变量不含有值)
2. 复合数据类型:
- 数组
- 对象
var a = 12;
// console.info(typeof a); number
a = 'dwefeyui';
// console.info(typeof a); string
a = true;
// console.info(typeof a); boolean
a = function(){
console.info('frgctgy');
};
// console.info(typeof a) function
a = document;
// console.info(typeof a); object
var b;
// console.info(typeof b); undefined
// 1.真的未定义
// 2.虽然定义但是没有给东西
六、JavaScript变量
概念:可变的量。从编程角度讲,变量是用于存储某种/某些数值的存储器。变量是数据的代号
1.变量命名规则
1.必须以字母、下划线或美元符号开头,后面可以跟字母、下划线、美元符号和数字。
- 正确: mysum _mychar $numa1
- 错误: 6num //开头不能用数字 %sum //开头不能用除(_ $)外特殊符号,如(% + /等) sum+num //开头中间不能使用除(_ $)外特殊符号,如(% + /等)
2.变量名区分大小写,如:A与a是两个不同变量。
3.不允许使用JavaScript关键字和保留字做变量名。 如:break,default;else,void,int,double,public等等
注意:
2.变量声明
概念:变量声明 我们要使用盒子装东西,是不是先要找到盒子,那在编程中,这个过程叫声明变量
语法: var 变量名; Eg:var a; 这就是定义了一个变量,变量名是a
var num1,num2; 可以一次声明多个变量 两个变量名间用,隔开
注意:变量也可以不声明,直接使用,但为了规范,需要先声明,后使用
3.初始化变量
在定义变量的时候,就给值。
Eg: var a=45;这就是初始化变量a 把45赋值给a
var a=10,b=20; 也可以同时初始化多个变量,每个变量之间用,隔开给变量赋值
比如你先定义了变量: var tt; 然后,再给值 tt=780;
这就是给变量赋值. Eg:var n; n=100;
4.变量的值
变量的值可以是数据类型的任何一种。
如:
- var a=“hello”; //变量的值是个字符串类型
- var b=10; //变量的值是个数字类型
- var c=false; //变量的值是个布尔类型
注意:JavaScript的变量类型不止字符串,数字,布尔值这三种,然而这三种确是最常用的了。其它数据类型(参考):
- 复合(引用)数据类型是: 对象 数组
- 特殊数据类型是: undefined
七、算术运算符
1.减- 乘* 除/ 取余%
+ 可以表示字符串的拼接
Eg:var s1="Hello,"; s1=s1+"World!";
alert(s1);
s1+=“!!!”;
s +=“!!!” 等价于 s=s+”!!!”;
注意: 加法运算同样适用 alert(s1);
加法运算符+ 减法运算符 – 乘法运算符* 除法运算符 / 取余 %
Eg:var a=4,b=2,c,d,e;
c=a-b; c是a与b的差
d=a*b; d是a与b的积
e=a/b; e是a与b的商
f=a%b; f是a与 b相除取的余数
八、数据类型转换
连接字符串时也使用“+”号。当字符串与数字相遇时,由于JavaScript是弱类型语言,所以,数字会被强制转换为字符串与字符串进行拼接。
var num=23+45;
alert("23+45等于"+num);
表达式从左往右计算,字符串之后的数字都会当成字符串然连接
alert("23+45="+(23+45)); 使用括号分隔
九、window对象的方法
JS中常用的对话框:
- 警示对话框:alert()方法用于显示警示对话框。
- 确认对话框:confirm()方法用于显示确认对话框。
- 提示输入对话框:prompt()方法用于显示提示输入对话框。
- .prompt(); 用于显示可提示用户进行输入的对话框
使用window.prompt()可以弹出包含输入框的窗口,用户输入的内容将是此函数的返回值
语法: var msg = window.prompt("请输入一个数字","默认值");
prompt方法包含一个必须参数和一个可选参数。
第一个参数是必须的,将在窗口中显示的文字,第二个参数是可选的,为文本框的预设值
十、 简答题:
null和undefined的区别
1.定义
- undefined:undefined 表示根本不存在定义。
- null:表示一个值被定义了,定义为“空值”;
2.何时使用null?
当使用完一个比较大的对象时,需要对其进行释放内存时,设置为null
3.null与undefined的异同点是什么呢?
共同点:都是原始类型,保存在栈中变量本地
不同点:
- undefined——表示变量声明过但并未赋过值。
它是所有未赋值变量默认值。
例如:var a; //a自动被赋值为undefined
- null——表示一个变量将来可能指向一个对象。
一般用于主动释放指向对象的引用。
例如:var emps = ['ss','nn'];
emps = null; //释放指向数组的引用
4.延伸——垃圾回收站
它是专门释放对象内存的一个程序。
- 在底层,后台伴随当前程序同时运行;引擎会定时自动调用垃圾回收期;
- 总有一个对象不再被任何变量引用时,才释放。