什么是JavaScript
JavaScript ( 简称 JS ) 是一种具有函数优先原则的轻重级,解释型或即时编译型的编程语言。它的解释器被称为JavaScript引擎,是浏览器的一部分,被广泛用于客户端脚本语言中,最早是在超文本标记语言( Hypertext Markup Language , HTML , 标准通用标记语言下的一个应用) 网页上使用的, 用来给HTML网页增加动态功能。
JavaScript的组成及其基本结构
基本组成:
ECMAScript
是由一种Ecma国际通过ECMA-262标准化的脚本程序设计语言,其主要描述了JavaScript的语法,变量,数据类型,运算符,逻辑控制语句,关键字,对象等。
DOM(文档对象模型)
是HTML文档对象模型定义的一套标准方法,主要用来访问和操作HTML文档。
BOM(浏览器对象模型)
是用于描述对象与对象之间层次关系的模型,浏览器对象模型提供了独立内容,可以与浏览器窗口进行互动的对象结构。
基本结构
在使用JavaScript时,可以用****结束标签为止。基本结构语法如下。
<script type="text/javascript">
// JavaScript 语句;
</script>
引入JavaScript
内部引用
<!--内部引用-->
<!-- <script>
alert("hello,world")
</script>-->
外部引用
<!--外部引用-->
<script src="js/jsY.js"></script>
测试实例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--内部引用-->
<!-- <script>
alert("hello,world")
</script>-->
<!--外部引用-->
<script src="js/jsY.js"></script>
<!--不用定义type,也默认是javascript-->
<script type="text/javascript"></script>
</head>
<body>
<!--这里也能存放-->
</body>
</html>
JavaScript的核心语法
变量的声明和赋值(与Java不同,JavaScript声明变量时无须为其指定数据类型)
语法:
var 变量名;
例: var naem;
var 变量名列表;
例: var name,age,sex;
JavaScript的数据类型
基本数据类型( 包括数值类型(number) ,(字符串类型string),布尔类型(boolean))
数值类型: JavaScript的数值类型不仅包括所有的整型变量,还包括所有的浮点型变量
var num1=15;
var num2=15.1;
字符传串类型: JavaScript的字符串必须用引号括起来,可以是双引号也可以是单引号
var str1="123aaa";
var str2='123bbb';
字符串的常用方法
charAt():返回指定位置的字符。
toUpperCase():把字符串转换成大写。
toLowerCase(:把字符串转换成小写。
indexOf(); 返回某个指定的字符串在字符串中首次出现的位置。
subString(; 用于提取字符串中介于两个指定下标之间的字符。
split(): 用于把一个字符串分割成字符串数组。
replace(): 用于在字符串中用一些字符替换另一些字符。
布尔类型
布尔类型的值只有两个:true和false。布尔类型的值通常是逻辑运算的结果,或用于标志对象的某种状态
特殊数据类型
特殊数据类型包括空类型(null) 和未定义类型(undefined)
null表示变量的值为空,可以用来检测某个变量是否被赋值
undefined 类型的值只有一个 undefined,该值用于表示某个变量不存在,或者没有为其分配值,也用于表示对象属性不存在。
/*
实际上 undefined 是 null 派生来的 所以在JavaScript中null == undefined 的值为true
但是 null===undefined 为false
*/
判断数据类型
ECMAScript 中提供了typeOf() 方法来判断某个值或值的数据类型 , 语法如下:
typeOf(值或变量);
/*
返回值就是值或者变量的数据类型
如果传入的变量是未定义类型,则放回 undefined
如果变量是空类型,或者是一种引用类型,如:对象,函数,数组,则返回Object。
*/
特殊比较运算符
== | 判断两个值是否相等,相等返回true,否则false |
---|---|
=== | 判断两个值是否相等,并且需要类型相等才返回true,否则返回false |
系统对话框
alert(); // 只有单种选择
confirm('15488'); // 有返回值,(true/false)
document.write('123'); // 显示在页面
流程控制语句
条件语句 – 与Java一样可以有 if 和 switch
if 语法:
//普通if
if(条件){
//条件为真时执行代码
}else{
//条件为假时执行代码
}
//多重if
if(条件){
//执行语句
}else if{
//执行语句
}else{
//执行语句
}
switch语法:
switch(条件){
case 1:
//执行语句
break;
case 2:
//执行语句
break;
case 3:
//执行语句
break;
......
default:
//执行语句
break;
}
循环语句:
while(条件){
//循环体
}
do{
//循环体
}while(条件);
for(表达式1;表达式2;表达式3){
//循环体
}
/*
前三种都与Java中的没有差异
JavaScript中还有 for-in 循环
语法如下
*/
for(变量 in 对象){
//循环体
}
/*
这类似于Java 与 C# 中的foreach 用法
不同的是 for-in 可以遍历对象的属性
*/
JavaScript中为我们提供了一个方法可以接收用户输入
prompt();
/*
会以弹窗的方式弹出一个输入框
*/