定义
JavaScript是基于对象的脚本语言
解释执行
代码以纯文本形式存储
类型宽松(弱类型)
Netscape公司和Sun公司联手完成
JavaScript功能
表单确认
页面修饰以及特殊效果
导航系统
基本数学运算
动态文档生成
JavaScript特点
脚本编写
基于对象
简单
安全
动态
跨平台
JavaScript相关概念
ECMAScript—国际标准
DOM文档对象模型
BOM浏览器对象模型
写在哪里
写在页面里(内联)
在head中用<script></script>
在标签上嵌入(内联)
<img src="images/001.jpg" onclick="alert(1223)"></img>
写到外部文件里,页面里引用(外联)
<script src=“***.js”></script>
基本语法
变量命名(基本与java相同)
以字母、下划线(_)或美元符号($)开头
余下的字符可以是下划线、美元符号或任何的字母、数字
最长为255个字符
不能有空格,大小写敏感
不能使用JavaScript中的关键字或保留字命名
注释写法
单行 //
多行 /* */
如何输出
alert(); 弹出窗口显示
console(); 控制台输出
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
console.log("我是控制台文本");
document.write("我是页面文本");
</script>
</head>
<body>
<!-- 第一种 弹出窗口alert(); -->
<img src="0.jpg" onclick='alert("图片被点击");'/>
<!-- 第二种 控制台console 调试状态进入console才能看到,从页面上看不到 -->
<!-- 第三种 document.write(); 直接在页面输出 直接输入到页面-->
</body>
</html>
JavaScript保留字(简单看一下)
js数据类型
基本数据类型(五种):Number String Boolean Undefined Null
Number:数字类型
String:单引或双引括起来
Boolean:布尔类型true/false
Undefined:定义但未赋值
Null:空对象
引用类型:Object
如何判断数据类型typeof(变量名)
例子
<meta charset="UTF-8">
<title>Title</title>
<script>
var i=2;
alert(typeof(i));
var box;
alert(box);
var b=true;
alert(typeof(b))
var s="hello world";
alert(typeof(s));
var box = null;
if (box != null) {
alert('box对象已存在!');
}else{
alert('box对象不存在!');
}
</script>
isNaN()函数
Not a Number 判断不是数字?
alert(isNaN(NaN)); //true
alert(isNaN(25)); //false,25是一个数值
alert(isNaN('25')); //false,'25'是一个字符串数值,可以转成数值
alert(isNaN('Lee')); //true,'Lee'不能转换为数值
alert(isNaN(true));
除了定义变量,其他语法与java相同
for-in语句
var mycars=new Array();
mycars[0]="audi";
mycars[1]="bmw";
for(x in mycars){
document.write(mycars[x]);
}
转义字符:详见课件第37页。
课堂练习
1、输出a,b 2个数中的最大值
2、输出1到100的整数的和
参考答案:
<script>
var a=10;
b=20;
if(a>=b){
c=a;
}else{
c=b;
}
document.write("最大值为:"+c);
</script>
<script>
var sum=0;
for(var i=0;i<=100;i++){
sum+=i;
}
document.write(sum);
</script>
函数#
类似java中的方法
函数定义语法
【】括号内为可选项
第一种标准方式
function 函数名( [ 参数1, [ 参数2, [ 参数N ] ] ] )
{
[ 语句组 ];
[ return [表达式] ];
}
例1)无参无返回值函数
<script>
//函数定义
function hello(){
document.write("hello world!"+name);
}
hello();
</script>
2)有参无返回值函数
<script>
//函数定义
function hello(name){
document.write("hello world!"+name);
}
hello("晓宇");
</script>
有参有返回值
<script>
//函数定义
function add(value1,value2){
return value1+value2;
}
var result=add(10,20);
alert(result);
</script>
第二种函数变量定义方式
var 变量名 = function( [ 参数1, [ 参数2, [ 参数N ] ] ], [ 函数体 ] );
<script>
//函数定义
var add=function(value1,value2){
return value1+value2;
}
var result=add(10,20);
alert(result);
</script>
两种方式区别
第一种会生成全局函数,会产生函数声明提前现象。会代码顺序上看,还没有定义就可以使用
<script>
var result=add(10,20);
alert(result);
//函数定义
//必须先定义后调用
var add=function(value1,value2){
return value1+value2;
}
/*
常用,可以产生函数提前
从用户角度看,像是先调用后定义
function add(value1,value2){
return value1+value2;
}*/
</script>
函数调用
链接调用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
function test() {
document.bgColor="red";
alert("hello");
}
</script>
</head>
<body>
<a href="javascript:test()">点我</a>
</body>
</html>
事件触发调用
<input type="button" value="test" onclick="test();">
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
function hehe(){
document.write("hehe");
}
</script>
</head>
<body>
<a href="javascript:hehe();">点我呵呵</a>
<input type="button" value="点我" onclick="hehe()"/>
</body>
</html>
课堂练习
1、做一个九九表
2、使用prompt(””,””)获取用户输入的字符串,直到实现输入“STOP”时停止。并打印所有的输入:其他字符使用红色,“STOP”使用蓝色。
Prompt()的使用参见下面写法:
var inputStr = prompt("请输入一串字符,当输入‘STOP’时停止","");
js全局对象(学生试验)
http://www.w3school.com.cn/jsref/jsref_obj_global.asp
Number() 转成数字
<script type="text/javascript">
var test1= new Boolean(true);
var test2= new Boolean(false);
var test3= new Date();
var test4= new String("999");
var test5= new String("999 888");
document.write(Number(test1)+ "<br />");
document.write(Number(test2)+ "<br />");
document.write(Number(test3)+ "<br />");
document.write(Number(test4)+ "<br />");
document.write(Number(test5)+ "<br />");
</script>
parseInt()
parseInt(string, radix) 字符串,进制
parseInt("10"); //返回 10
parseInt("19",10); //返回 19 (10+9)
parseInt("11",2); //返回 3 (2+1)
parseInt("17",8); //返回 15 (8+7)
parseInt("1f",16); //返回 31 (16+15)
parseInt("010"); //未定:返回 10 或 8
parseFloat()
parseFloat() 函数可解析一个字符串,并返回一个浮点数
parseFloat(string)
<script type="text/javascript">
document.write(parseFloat("10"))
document.write(parseFloat("10.00"))
document.write(parseFloat("10.33"))
document.write(parseFloat("34 45 66"))
document.write(parseFloat(" 60 "))
document.write(parseFloat("40 years"))
document.write(parseFloat("He was 40"))
</script>
isNaN()
isNaN() 函数用于检查其参数是否是非数字值。
<script>
document.write(isNaN(123));
document.write(isNaN(-1.23));
document.write(isNaN(5-2));
document.write(isNaN(0));
document.write(isNaN("Hello"));
document.write(isNaN("2005/12/12"));
</script>
eval()
eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
<script type="text/javascript">
eval("x=10;y=20;document.write(x*y)")
document.write(eval("2+2"))
var x=10
document.write(eval(x+17))
</script>
作业:
作者:wqjcarnation
链接:https://www.jianshu.com/p/ed5f634dbe6d
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。