共计 3127 个字符,预计需要花费 8 分钟才能阅读完成。
JavaScript
1.1 概念
JavaScript 是一门客户端脚本语言, 运行在客户端浏览器中的, 每一个浏览器都有 JavaScript 的解析引擎.
脚本语言: 不须要翻译, 间接就能够被浏览器解析执行了
性能: 能够来加强用户和 html 页面的交互过程, 能够来管制 jtml 元素, 让页面有一些动静的成果, 加强用户的体验.
1.2JavaScript 发展史
- 1992 年,Nombase 公司,开发出第一门客户端脚本语言,专门用于表单的校验, 命名为:C–,起初更名为:ScriptEase
- 1995 年,Netscape(网景)公司,开发了一门客户端脚本语言:LiveScript。起初,请来 SUN 公司的专家,批改 LiveScript,命名为 JavaScript
- 1996 年,微软剽窃 JavaScript 开发出 JScript 语言
- 1997 年,ECMA(欧洲计算机制造商协会),制订出客户端脚本语言的规范:ECMAScript,就是对立了所有客户端脚本语言的编码方式。
- JavaScript = ECMAScript + JavaScript 本人特有的货色(BOM+DOM)
2. 根本语法
1. 与 html 联合形式
(1)外部 JS: 定义 <script>, 标签体内容就是 js 代码
(2)内部 JS: 定义 <script>, 通过 sec 属性引入内部的 js 文件
留神:<script> 能够定义在 html 页面的任何中央. 然而定义的地位会影响执行程序; <script> 能够定义多个.
2.1 正文
1. 单行正文: // 正文内容
2. 多行正文: / 正文内容 /
2.2 数据类型
原始数据类型(根本数据类型)
(1)数值类型 (number): 在 JS 中, 所有的数值在底层都是浮点型, 然而在解决和显示的过程中会主动的和整型进行转换.
例如:2.4+3.6=6
非凡值:Infinity(无穷大) / -Infinity(负无穷大) / NaN(非数字)
(2)字符串类型(String): 在 JS 中, 字符串类型属于根本数据类型, 字符串常量能够应用单引号或者应用双引号引起来. 例如:
var v1 = "hello JS";
var v2 = 'hello Js';
另外,JS 中字符串类型有对象的包装对象(String), 在须要时会主动的和包装对象进行转换.
var v1 = "Hello JS"; // 根本数据类型,String
console.log(typeof v1);//string
var v2 = new String("Hello JS");// 简单数据类型, object
comsole.log(typeof v2);//object
// 不论是根本数据类型 v1, 还是简单数据类型 v2, 都能够当做对象来用
console.log(v1.valueOf() );//v1 是根本数据类型, 会转成对象, 调用 valueOf 函数
console.log(v2.valueOf() );
(3)布尔类型 (boolean)
布尔类型的值有两个, 别离为 true 和 false
(4)undefined 类型
undefined 类型的值只有一个, 就是 undefined, 示意变量未定义(但不是值变量没有申明), 是指申明了变量, 但没有为变量赋值, 该变量的值就是 undefined
/*1.undefined 类型 */
var x;
alert(x); //undefined
alert(y); // 抛异样
(5) null 类型
null 类型的值只有一个, 就是 null, 示意空值.
能够作为函数的返回值, 示意函数返回的是一个空的对象.
留神:null 和 undefined 类型的变量是不能调用函数火属性的, 会抛异样!
简单数据类型
次要指对象 (JS 的内置对象、自定义的对象、函数、数组)
(1) 变量申明
变量: 一小块存储数据的内存空间
Java 语言是强类型语言, 而 JavaScript 是弱类型语言.
强类型: 在开拓变量存储空间时, 定义了工夫未来存储的数据的数据类型. 只能存储固定类型的数据
弱类型: 在开拓变量类型空间时, 补丁已空间未来的存储数据类型, 能够寄存任意类型的数据
语法:var 变量名 = 初始化值;
typeof 运算符: 获取变量的类型
留神:null 运算后失去的是 object
JS 中是通过 var 关键字申明变量, 申明的变量是不辨别类型, 能够指向任意的数据. 例如:
var x = 100;
x = "abc";
x = true;
x = [];
x = function(){}
x = new Object();
x = {};
另外,JS 中屡次申明同名的变量不会呈现语法错误, 例如:
/*2. 变量的定义 **/
var s = "Hello";//var s; s="hello";
var s = 123; //var s; s = 123;
alert(s);//123
JS 是严格辨别大小写的!!!!!
JS 运算符
JS 和 Java 的运算符大致相同
(1) 一元运算符: 只有一个运算数的运算符
++(–) 在前, 先自增(自减), 再运算
++(–) 在后, 先运算, 再自增(自减)
+(-): 正负号
留神: 在 JS 中, 如果运算数不是运算符所要求的类型, 那么 js 引擎会主动的将运算数进行类型转换
其余类型转 number:
String 转 numbner: 依照字面值转换. 如果字面值不是数字, 则转化为 NaN(不是数字的数字)
boolean 转 number:true 转为 1,false 转为 0
(2)算数运算符
+,-,*,/,%,++,–
(3) 赋值运算符
=,+=,-=,*=,/=,%=
(4) 比拟运算符
==,!=,>,>=,<,<=
比拟形式:
类型雷同:间接比拟
字符串:依照字典程序比拟。按位逐个比拟,直到得出大小为止。
类型不同:先进行类型转换,再比拟
===:全等于。在比拟之前,先判断类型,如果类型不一样,则间接返回 false
(5)位运算符
&,|
(6) 逻辑运算符
&&,|| (false && 表达式, true || 表达式)
其余类型转 boolean:
number:0 或 NaN 为假,其余为真
string:除了空字符串(“”),其余都是 true
null&undefined: 都是 false
对象:所有对象都为 true
(7)前置逻辑运算符
! (not)
(8) 三元运算符
语法: 表达式? 值 1: 值 2;
判断表达式的值, 如果是 true 则取值 1, 如果是 false 则取值 2;
(9) 流程管制语句
- if…else
- switch
- while
- do…while
- for
JS 非凡语法:
1. 语句以; 结尾, 如果一行只有一条语句则; 能够省略, 但不倡议省略
2. 变量的定义应用 var 关键字, 也能够不应用
用: 定义的变量是局部变量
不必: 定义的变量是全局变量(不倡议)
练习:99 乘法表
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>99 乘法表 </title>
<style>
td{border: 1px solid;}
</style>
<script>
document.write("<table align='center'>");
//1. 实现根本的 for 循环嵌套,展现乘法表
for (var i = 1; i <= 9 ; i++) {document.write("<tr>");
for (var j = 1; j <=i ; j++) {document.write("<td>");
// 输入 1 * 1 = 1
document.write(i + "*" + j + "=" + ( i*j) +" ");
document.write("</td>");
}
/*// 输入换行
document.write("<br>");*/ document.write("</tr>");
}
//2. 实现表格嵌套
document.write("</table>");
</script>
</head>
<body>
</body>
</html>