JavaScript
一门跨平台,面向对象的脚本语言,来控制网页行文使网页可交互
JavaScript引入方式:
<script>alert("Hello JS")
</script>
js语句必须在
<script>
标签之间,在html文档中,可以在任意地方,放置任意数量的script
一般会把脚本置于
<body>
元素的底部,可以改善显示速度
外部脚本:
将JS代码定义在外部JS文件中,然后引入HTML页面
外部JS文件中只包含js代码,不包含script标签
script标签不能自闭合
<script src="js文档">
JS语法
区分大小写
输出语句
window.alert("Hello JS");
//浏览器弹出警告框
document.write("Hello JS");
//写入HTML,在浏览器展示
console.log("Hello JS")
//写入浏览器控制台
JS变量
用var关键字(variable的缩写)来声明变量
一门弱类型语言,可以存放不同类型的值
var关键字声明的变量全局可用,且可以重复声明
var a = 20;
a = "张三";
变量名需要遵循如下规则:
组成字符可以是任何字母,数字,下划线(_)或者是美元符号($)
数字不能开头
建议使用驼峰开头
ECMAScript6
新增let关键字定义变量
用法类似于var,但声明的变量只在let关键字的代码块内有效
且不允许重复声明
新增const关键字
用来声明一个只读常量,一旦声明,常量的值不能改变
数据类型
JavaScript中分为
原始类型和引用类型
原始类型:
number:数字(整数,小数,NAN(not a number))
String:字符串,单双引号都可以
boolean:布尔.
null:对象为空
undefined:当声明的变量未初始化时,该变量的默认值是undefined
typeof运算符可以获取数据类型
运算符
基本与java一致
==比较值
===比较值和类型(全等)
类型转换->数字
String:字符串字面值转为数字,如果字面值不是数字就为NaN
注:数字+字符的形式可以转换,但字符加数字或数字夹杂字符不能转换
var s = parseInt("123");
Boolean:true->1,false->0
var n = Number(true);
类型转换->boolean
Number:0和NaN为false,其他均转为true
String:空字符串为false,其他均为true
Null和undefined:均转为false
流程控制语句
if...else
if...else..
switch
for
while
do...while
函数
被设计为执行特定任务的代码块
function functionName(参数 1,参数 2....){//代码
}
形参无需类型,因为javaScript是弱类型语言
返回值也不需要定义类型,可以在函数内部直接使用return返回
函数调用
function add(a,b){return a+b;
}
var result = add(10,20);
alert(result);
var functionName = function(参数 1,参数 2....){//代码
}
var add = function(a,b){return a+b;
}
var result = add(10,20);
alert(result);
var sum = (a,b)=>{return a+b;}
箭头函数省略方式类似lambda表达式
函数调用可以传递任意个数的参数
JS对象
js提供的对象分为三类
xxxxxxxxxx onclick//鼠标单击事件onblur//元素失去焦点onfocus//元素获得焦点onload//某个页面或者图像被完全加载onsubmit//当表单被提交时触发onkeydown//当某个键被按下onmouseover//鼠标被移到某个元素之上onmouseout//鼠标从某个元素移开js
基本对象
Array
Boolean
Date
Math
Number
String
RegExp
Global
Array对象
用于定义数组
var 变量名 = new Array(元素列表);
eg:var arr = new Array(1,2,3);var 变量名 = [元素列表];
eg:var arr = [1,2,3];arr[1] = 1;//没有赋值默认为undefined
特点:
数组长度可变,可以存储任意类型的数据
Array对象属性:
constructor
//返回对创建此对象的数组函数的引用
length
//设置或返回数组中元素的个数
prototype
//向对象中添加属性和方法
Array对象方法:
push()
//添加新元素到数组末尾,返回新的长度
arr.push(1);
splice()
//从数组中添加或删除元素
arr.splice(0,1)
//从0索引开始删除一个元素
sort()
//对数组元素进行排序
arr1.sort(排序函数)
indexOf()
//在数组中搜索元素并返回其位置
arr1.indexOf(20)
//查找数组中元素为20的索引位置
reverse()
//反转数组中元素顺序
arr.reverse()
forEach()
//遍历
String对象
创建String对象的方式有两种
1,
var 变量名 = new String(s);
2,
var 变量名 = "数组"
String对象的属性
length:字符串的长度
方法:
charAt()
//返回在指定位置的字符
indexOf
//检索字符串
trim()
//去除字符串两边的空格
substring
//提取字符串中两个指定的索引号之间的字符
BOM对象
window
Navigator
Screen
History
Location
Dom对象
Document
Anchor
Area
JavaScript中自定义对象
var 对象名称={属性名:属性值,函数名:function(形参列表){}
};
function关键字可以省略
调用时直接使用对象名.属性名和对象名.方法名调用即可
js对象可以嵌套,即js对象中的属性可以是js对象