JavaScript基础
JavaScript
- JavaScript是一门跨平台,面向对象的脚本语言,来控制网页行为的,它能够使网页可交互。
- 基础语法与java类似
-
JavaScript(简称:JS) 在 1995 年由 Brendan Eich 发明,并于 1997 年成为一部 ECMA 标准。
-
ECMAScript 6 (ES6) 是最新的 JavaScript 版本(发布于 2015 年)。
JavaScript引入方式
内部方式
- 在html文件中,使用 写在元素底部,可以提高显示速度,将javaScript写在body中的最后,先加载html界面。
- 将js代码编写为一个后缀名为js的文件中。
- 在html文件中通过引入文件
<script src="../js/alert.js">script>
alert("真菜");
-
区分大小写:与 Java 一样,变量名、函数名以及其他一切东西都是区分大小写的
-
每行结尾的分号可有可无、建议写上
-
注释
-
单行注释:// 注释的内容
-
多行注释:/* 注释的内容 */
-
-
一对大括号标识代码块
-
使用window.alert()写入警告框
-
使用document.write()写入 HTML 输出
-
使用console.log()写入浏览器控制台
变量介绍
- variable的缩写var是JavaScript声明变量的方式。
- var定义的变量是全局变量,可在var所在代码块的外部访问
- 可以重复定义覆盖旧值
-
var a=20; var a=30;
- JavasScript是一门,弱类型语言可以存放不同类型的变量
- 组成字母,数字,下划线_,英文$符号,数字不能开头,建议使驼峰命名。
- ECMAScript 6新增了let关键字来定义变量,类似于var,但是let只在自己的代码块中有效,且与java一样不允许重复声明。
- ECMAScript 6新增const关键字,用来声明一个只读的常量。一旦声明不能改值。
-
如果let变量报错、需要修改idea中js的版本。
-
在File->Settings->Languages & FrameWorks->JavaScript,将版本改为 ECMAScript 6
-
原始类型 和 引用类型
- typeof()获取数据类型
-
原始类型分类:
-
number:数字(整数、小数、NaN(Not a Number))
-
string:字符、字符串,单双引皆可
-
boolean:布尔。true,false
-
null:对象为空, 对于null使用typeof()方法会返回object,null被认为是对象占位符
-
undefined:当声明的变量未初始化时,该变量的默认值是 undefined
-
运算符
-
一元运算符:++,--
-
算术运算符:+,-,*,/,%
-
赋值运算符:=,+=,-=…
-
关系运算符:>,<,>=,<=,!=,==,===
-
逻辑运算符:&&,||,!
-
三元运算符:条件表达式 ? 表达式1 : 表达式2;
类型转换
其他类型转化为bumber
1 string:按照字符转的子面值,转为数字,如果字面值不是数字,转化为NAN
var str=+"adc";+号代表正数 parseInt()
2 boolean true 转换为1 false 转换为0
其他类型转换为boolean(用于简化健壮性判断)
1 number 0和NAN转换为0,其他数字为true
2 string 空字符串为false
3 null 为false
4 undefined为false0
-
== 和 ===
-
== 会进行类型转换、转换后再比较数据值。
-
=== 不会进行类型转换、类型不一致直接返回false。
-
-
其他类型转为数字
-
string:将字符串字面值转为数字。如果字面值不是数字,则转为NaN。一般使用parseInt方法进行转换 。
-
boolean: true 转为1,false 转为0。
-
-
其他类型转为 boolean
-
number:0和NaN转为false,其他的数字转为true。
-
string:空字符串转为false,其他字符串转为true。
-
null: 转为false。
-
undefined:转为false。
-
流程控制语句
-
-
switch
-
for
-
while
-
do…while
1.函数介绍
-
js中的函数类似java中的方法。
-
将共性功能抽取到方法中、提高代码的复用性。
-
将不同的功能在不同的方法中实现、提高代码的阅读性。
- 使用function关键字定义函数
2.函数格式
-
格式一:
-
形式参数不需要类型。因为JavaScript是弱类型语言。
-
返回值也不需要定义类型,可以在函数内部直接使用return返回即可。
- 因为var的性质使得javaScript有以上特点
// 书写格式 function 函数名(参数1,参数2,...){ 方法体; return 结果; } // 调用格式 var 变量名 = 函数名(实际参数); // 有返回值方法 函数名(实际参数); // 无返回值方法
.//定义 function add(a,b){ return a+b; } //调用 var result=add(1,2);
- 格式二
// 书写格式 var 函数名 = function(参数1,参数2,...){ 方法体; return 结果; } // 调用格式 var 变量名 = 函数名(实际参数); // 有返回值方法 函数名(实际参数); // 无返回值方法 // 格式二 var add = function (a,b){ return a + b; } var result = add(1,2); alert(result);
函数调用可以传递任意个参数,但没有什么意义
var result1=add(1,2,3)//3实际上没什么用处,但是可以传递
var result2=add(1) 第二个参数被NAN代替,结果NAN
JavaScript对象
Array
-
格式一
var 变量名 = new Array(元素列表);
-
格式二
var 变量名 = [元素列表];
JavaScript 数组参考手册 (w3school.com.cn)
String对象
-
格式一
var 变量名 = new String(s);
-
格式二
var 变量名 = s; // 单引、双引都可以
JavaScript String 参考手册 (w3school.com.cn)
trim() 去除字符串两端,空格问题
自定义对象
{}代表对象 : 连接属性值或者方法体 ,号连接属性和方法
var 对象名称 = {
属性名称1:属性值1,
属性名称2:属性值2,
...
函数名称:function (形参列表){}
...
};
自定义对象
Window对象
Window 对象 (w3school.com.cn)
-
Browser Object Model 浏览器对象模型
-
JavaScript 将浏览器的各个组成部分封装为对象
-
Window:浏览器窗口对象
-
-
Navigator:浏览器对象 (了解)
-
Screen:屏幕对象 (了解)
-
History:历史记录对象
-
-
Location:地址栏对象
-
Window窗口对象
-
获取:直接使用 window,其中window. 可以省略
-
属性:获取其他 BOM对象
- 方法
-
Document Object Model 文档对象模型
-
将标记语言的各个组成部分封装为对象
-
Document:整个文档对象
-
Element:元素对象
-
Attribute:属性对象
-
Text:文本对象
-
Comment:注释对象
-
-
JavaScript 通过 DOM, 就能够对 HTML进行操作了
-
改变 HTML 元素的内容
-
改变 HTML 元素的样式(CSS)
-
对 HTML DOM 事件作出反应
-
添加和删除 HTML 元素
-
-
getElementById(id值):根据id属性值获取,返回一个Element对象
-
getElementsByTagName(标签名):根据标签名称获取,返回Element对象数组
-
getElementsByName(name值):根据name属性值获取,返回Element对象数组
-
getElementsByClassName(class值):根据class属性值获取,返回Element对象数组
事件监听
-
事件:HTML 事件是发生在 HTML 元素上的“事情”。例如:(按钮被点击、鼠标移动移出、键盘按键按下等)。
-
事件监听:JavaScript 可以在事件被侦测到时执行对应的代码。
事件绑定
方式一:通过 HTML标签中的事件属性进行绑定
JavaScript