第1章 js基础(3课时)

目标

简介、引入方式、 基本语法 三种输出方式

数据类型 isNaN()函数 for...in

函数定义和调用

定义

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><metacharset="utf-8"><title></title><script>console.log("我是控制台文本");            document.write("我是页面文本");</script></head><body><!-- 第一种 弹出窗口alert(); --><imgsrc="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(变量名)

例子

<metacharset="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));//truealert(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 ] ] ], [ 函数体 ] );

//函数定义

var add=function(value1,value2){

return value1+value2;

}varresult=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><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><script>function test() {document.bgColor="red";alert("hello");}</script></head><body><ahref="javascript:test()">点我</a></body></html>

事件触发调用

<inputtype="button"value="test"onclick="test();"><!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><script>function hehe(){  document.write("hehe");  }</script></head><body><ahref="javascript:hehe();">点我呵呵</a><inputtype="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() 转成数字

<scripttype="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");//返回 10parseInt("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)

<scripttype="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 代码。

<scripttype="text/javascript">eval("x=10;y=20;document.write(x*y)")document.write(eval("2+2"))var x=10document.write(eval(x+17))</script>

作业:

1)上面全局函数试验

2)第1章实训:统计科目考试成绩(供参考)

<!doctype html><html><head><metacharset="utf-8"><title>评定学生成绩</title><scripttype="text/javascript">count(prompt("请输入考试科目数量"));    function count(num){        var sum=0;        if(isNaN(num)){            alert("输入的不是数字!");          }else if(num<=0){            alert("输入的考试科目无效");        }else{            for(var i=1;i<=num;i++){                var score=prompt("请输第"+i+"门科目成绩:");                if(isNaN(score)){                    alert("成绩必须是数字!");                    break;                }else if(score<0)                {                    alert("成绩不能是负数!");                    break;                }else                    sum+=parseFloat(score);            }        }        if(sum!=0)            alert(num+"门科目的总成绩是:"+sum);    }</script></head><body></body></html>

3)预习第2章(第2章线上学习对象和正则调用)

转至:↓

链接:https://www.jianshu.com/p/ed5f634dbe6d

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容