经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JSJS库框架 » JavaScript » 查看文章
JavaScript基础
来源:cnblogs  作者:Yven  时间:2018/10/12 9:39:25  对本文有异议

JS基础

一、JS语言介绍

1、概念

  • 浏览器脚本语言
  • 可以编写运行在浏览器上的代码程序
  • 属于解释性、弱语言类型编程语言

2、组成

  • ES语法:ECMAScript、主要版本ES5和ES6
  • DOM:文档对象模型(Document Object Model),是W3C组织推荐的处理可扩展标志语言的标准编程接口。
  • BOM:浏览器对象模型(Browser Object Model),提供了独立于内容的、可以与浏览器窗口进行互动的对象结构;且由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。

二、三种存在位置

1、行间式:存在于行间事件中

  1. <body id="body" onload="body.style.backgroundColor='#0ff'">
  2. </body>

2、内联式:存在于页面script标签中

  1. <body id="body">
  2. <script type="text/javascript">
  3. body.style.backgroundColor='#0ff'
  4. </script>
  5. </body>

3、外联式:存在于外部JS文件,通过script标签src属性链接

  1. index.js文件
  2. body.style.backgroundColor='#0ff'
  3. index.html文件
  4. <script src="./js/index.js"></script>

三、解释性语言特性决定JS代码位置

  • 出现在head标签底部:依赖型JS库
  • 出现在body标签底部:功能型JS脚本

四、JS语法规范

  • 注释
  1. // 单行注释
  2. /*
  3. 多行注释
  4. */
  • 以分号作为语句结尾(允许省略)

五、变量的定义

1、ES5定义变量

  1. var num = 10; // 无块级作用域变量
  2. num = 10; // 全局变量

2、ES6定义变量

  1. let num = 10; // 局部变量
  2. const NUM = 10; // 常量

3、变量(标识符)的命名规范

  • 由字母,数字,_,$组成,不能以数字开头(可以包含中文字符)
  • 区分大小写
  • 不能出现关键字及保留字
abstract arguments boolean break byte
case catch char class* const
continue debugger default delete do
double else enum* eval export*
extends* false final finally float
for function goto if implements
import* in instanceof int interface
let long native new null
package private protected public return
short static super* switch synchronized
this throw throws transient true
try typeof var void volatile
while with yield

六、三种弹出框

  • alert:普通弹出框
  • confirm:确认框,拥有返回值,点击确认返回true,点击取消返回false
  • prompt:输入框,拥有返回值,点击确认返回输入的内容,点击取消返回null

七、四种调试方式

  • alert()
  • console.log()
  • document.write()
  • 浏览器断点调试

八、数据类型

1、值类型

  • number:数字类型
  1. var a = 10;
  2. console.log(a, typeof a)
  3. // 判断方式
  4. console.log(typeof a == 'number')
  • string:字符串类型
  1. var a = '10';
  2. console.log(a, typeof a)
  3. // 判断方式
  4. console.log(typeof a == 'string')
  • boolean:布尔类型
  1. var a = true;
  2. console.log(a, typeof a)
  3. // 判断方式
  4. console.log(typeof a == 'boolean')
  • undefined:未定义类型
  1. var a = undefined;
  2. console.log(a, typeof a)
  3. // 判断方式
  4. console.log(typeof a == 'undefined')
  5. console.log(a == undefined)

2、引用类型

  • function:函数类型
  1. var a = function(){};
  2. console.log(a, typeof a)
  3. // 判断方式
  4. console.log(typeof a == 'function')
  • object:对象类型
  1. var a = {};
  2. console.log(a, typeof a)
  3. // 判断方式
  4. console.log(typeof a == 'object')
  5. console.log(a instanceof Object)

3、具体的对象类型

  • null:空对象
  1. var a = null;
  2. console.log(a, typeof a)
  3. // 判断方式
  4. console.log(typeof a == 'object')
  5. console.log(a == null)
  • Array:数组对象
  1. var a = new Array(1, 2, 3, 4, 5);
  2. console.log(a, typeof a)
  3. // 判断方式
  4. console.log(typeof a == 'object')
  5. console.log(a instanceof Object)
  6. console.log(a instanceof Array)
  • Date:时间对象
  1. var a = new Date();
  2. console.log(a, typeof a)
  3. // 判断方式
  4. console.log(typeof a == 'object')
  5. console.log(a instanceof Object)
  6. console.log(a instanceof Date)
  • RegExp:正则对象
  1. var a = new RegExp();
  2. console.log(a, typeof a)
  3. // 判断方式
  4. console.log(typeof a == 'object')
  5. console.log(a instanceof Object)
  6. console.log(a instanceof RegExp)

4、类型转换

  • 数字|布尔 转换为 字符串
  1. var a = 10 or true
  2. String(a)
  3. a.toString()
  • 布尔|字符串 转换为 数字
  1. var a = true or '10'
  2. Number(a)
  3. + a
  4. parseFloat()
  5. parseInt()
  • 字符串|数字 转换为 布尔
  1. var a = 10 or '10'
  2. Boolean(a)
  • 自动转换
  1. 5 + null // 5
  2. "5" + null // "5num"
  3. "5" + 1 // "51"
  4. "5" - 1 // 4
  • 特殊产物
  1. // NaN: 非数字类型
  2. // 不与任何数相等,包含自己
  3. // 利用isNaN()进行判断

九、运算符

1、算数运算符

前提:n = 5

运算符 描述 例子 x结果 n结果
+ 加法 x=n+2 7 5
- 减法 x=n-2 3 5
* 乘法 x=n*2 10 5
/ 除法 x=n/2 2.5 5
% 驱魔(余数) x=n/2 1 5
++ 自增 x=++n 6 6
x=n++ 5 6
-- 自减 x=--n 4 4
x=n-- 5 4

2、赋值运算符

前提:x=5,y=5

运算符 例子 等同于 运算结果
= x=y 5
+= x+=y x=x+y 10
-= x-=y x=x-y 0
*= x*=y x=x*y 25
/= x/=y x=x/y 1
%= x%=y x=x%y 0

3、比较运算符

前提:x=5

运算符 描述 比较 结果
== 等于 x=="5" true
=== 绝对等于 x==="5" false
!= 不等于 x!="5" fales
!== 不绝对等于 x!=="5" true
> 大于 x>5 false
< 小于 x<5 false
>= 大于等于 x>=5 true
<= 小于等于 x<=5 true

4、逻辑运算符

前提:n=5

运算符 描述 例子 结果
&& x=n>10&&++n x=false,n=5(短路)
|| x=n<10||n-- x=true,n=5(短路)
! x=!n x=false,x=5

5、ES6语法解构赋值

  • 数组的解构赋值
  1. let [a, b, c] = [1, 2, 3]
  2. // a=1,b=2,c=3
  3. let [a, ...b] = [1, 2, 3]
  4. // a=1,b=[2,3]
  • 对象的解构赋值
  1. let {key: a} = {key: 10}
  2. // a=10
  • 字符串解构赋值
  1. let [a,b,c] = 'xyz'
  2. // a='x',b='y',c='z'
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号