javascript
liveScript原名
netspace(网景公司)
原自java
C
ECMA(欧洲计算机协会)
ECMA script 2015(es6) java
ECMA 5
EcMa 3
.....
类型:
客户端脚本语言:动态语言
支持、使用变量
运行机制:
解释性语言:一遍执行一边解析(浏览在运行过程中进行解析)
编译性语言:jsp、python、php(解析器 html)->浏览器
浏览器:
html:搭建页面架构
css:美化页面
js: 动态效果
前后端分离:
web前端:应用(application)的前台(html+css+js+数据渲染、交互)
web后端:java php ..
移动端:HYbridAPP(混合app)
nodeJs: js运行服务器
js封装:
vue
react
angular
微信小程序:底层js
知识要点:
基本语法、数据类型...
DOM、BOM
原型、闭包、面向对象
es6 promise 异步 class
************************
js不是一个面向对象语言而是基于对象的语言,
在js中“万物皆对象”;语法格式:
.html文件
任何位置:
一般情况下:嵌入式写法
<head>
<script type="text/javascript">
</script>
</head>
<body>
<script type="text/javascript">
</script>
</body>
<script type="text/javascript">
</script>
外链js:
xxx.js
常用的js输出语句:
document.write(); //将内容输出在body中,可能影响布局?
console.log(); //
document : 当前文档对象(html) 对象
注释:
// 单行注释
/*
多行注释
*/
符号:
"" 定界符
'' 定界符
在输出过程中内容包含与定界符相同的符号,那么取要进行区分;
转义: \ " aewfwf\"fewre\" "
. 对象的调用符号(用于调用某个对象的属性或者方法)
; 代码分割符、结束符
= 赋值运算符??
js变量:允许发生变化的数据单位
是什么?
作用:保存数据;
声明变量(定义变量):
var 变量名; es5
注意:通过var 关键字声明变量会导致变量提升;
变量的声明会被提前到script的顶端;
var a = 100;
var a ; 顶部
a=100;
let 变量名; es6
1、阻止变量提升
2、阻止变量的重复定义
3、支持块级作用域
常见的错误类型:
Uncaught ReferenceError: Cannot access 'userName' before initialization
Uncaught SyntaxError: Identifier 'userName' has already been declared
变量命名:
驼峰命名法则:
大驼峰: User UserName ImgTrueColor 类 构造函数 组件 常量 ...
小驼峰: user userName imgTrueColor 变量、函数、属性、方法 定义
匈牙利命令:
user user_name img_true_color 变量、函数、属性、方法 定义
USER USER_NAME 类 构造函数 组件 常量 ...
js中 输出一个未赋值的变量结果是undefined;
undefined 未定义(特殊的数据类型)