一:JavaScript是什么?
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由网景公司(Netscape)的Brendan Eich(布兰登·艾克)在1995年设计完成,是一种动态、弱类型、基于原型的语言,内置支持类。JavaScript是Sun公司的注册商标。Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合,如服务器端编程。完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型,字节顺序记号。
Netscape公司在最初将其脚本语言命名为LiveScript。在Netscape在与Sun合作之后将其改名为JavaScript。JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”,因此语法上有类似之处,一些名称和命名规范也借自Java。但JavaScript的主要设计原则源自Self和Scheme。JavaScript与Java名称上的近似,是当时网景为了营销考虑与Sun公司达成协议的结果。
为了取得技术优势,微软推出了VBScript来迎战JavaScript的脚本语言。为了互用性,Ecma国际(前身为欧洲计算机制造商协会)创建了ECMA-262标准(ECMAScript)。现在两者都属于ECMAScript的实现。尽管JavaScript作为给非程序人员的脚本语言,而非是作为给程序人员的编程语言来推广和宣传,但是JavaScript具有非常丰富的特性。
二:JavaScript的组成
- 核心标准语法(ECMAScript)
- 文档对象模型(Document Object Model,简称DOM)--获取网页上任意标签的信息以及实现动态化效果
- 浏览器对象模型(Browser Object Model,简称BOM)---获取浏览器上的前进,后退,刷新等等操作
三:JavaScript的有什么特点?
- 解释型语言
JavaScript是一门解释型语言,解释型值语言是指不需要被编译为机器码在执行,而是直接执行。
- 基于原型的面向对象
- 严格区分大小写
四:javascript的作用
为网页添加各式各样的动态功能,
为用户提供更流畅美观的浏览效果
通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的
五:网页的三大基石
html
css
javascript
六:java与javascript的区别
没有任何关系
七:javascript的实现方法有哪些?
行内嵌入式 将js的代码标记在HTML标签上实现
通过script标签来写js代码
外部式 将js脚本代码单独使用一个文件包裹
方法二:
<script language="JavaScript" type="text/javascript">
Hello Wrold
</script>
方法三:外部式引入
<script src="js/Hello.js" type="text/javascript" charset="utf-8"></script>
八:js的使用语法
js的注释
单行注释 //注释语句
多行注释 /*注释语句*/
<script language="JavaScript" type="text/javascript">
// 单行注释
// alert('你好 未来');
//多行注释
/*
好好学习
天天向上
*/
</script>
js的输入输出语句
alert() 系统弹窗语句
console.log('')控制台打印输出(通过F12弹出 或者右击网页-检查)
document.write();网页输出语句
prompt 输入器(类似Scanner)
确认框语句
confirm true确定/false取消
案例:打印三角形
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>三角形</title>
</head>
<body style="text-align:center;">
<script>
var k=prompt("请输入打印的行数:","");
for(var i=1;i<=k;i++){
for(var j=0;j<i;j++){
document.write("* ");
}
document.write("<br/>");
}
</script>
</body>
</html>
ECMAScript核心语法
变量 在内存上占用控制存储数据以及操作数据
定义变量的语法
var 名字 = 数值
js中具体的类型:number类型 string类型 boolean类型 object类型 undefined 未定义
// 定义一个变量
var name = '刘邦';
console.log(name);
//var 省略,但是不建议
sex = '男';
console.log(sex);
var age;//undefined 未定义类型,没有给变量赋值
console.log(age);
typeof() 查看变量的类型
var myname = '张三';
console.log(typeof(myname));
console.log(typeof(true));
运算符
算数运算符: + - * / % ++ --
赋值运算符 = += -= *= /= %=
关系运算符 > < >= <= == ===
逻辑运算符 && || !
条件运算符 表达式?结果1:结果2;
注意:== === 都是恒等于
== 比较值的内容
=== 比较值的内容以及值的类型
var a = 1;
var b = 1;
console.log("== "+(a==b));
console.log("=== "+(a===b));
var aa = '1';
var bb = 1;
console.log("== "+(aa==bb));
console.log("=== "+(aa===bb));
// 比较2个数字的最大值
var num1 = 10;
var num2 = 20;
console.log(num1 > num2 ? num1 : num2);
选择结构
if
switch
// 定义三个变量 求最大值
var a1 = 33;
var a2 =23;
var a3 = 11;
if(a1 > a2 && a1 > a3){//假设a1最大
console.log(a1);
}else if(a2 > a1 && a2 > a3){
console.log(a2);
}else if(a3 > a1 && a3 > a2){
console.log(a3)
}
var week = 5;
switch(week){
case 1:
console.log("吃肉");
// break;
case 2:
console.log("吃火锅");
break;
default:
console.log("吃土");
break;
}
循环结构
while
do...while
for
//while的使用
var i = 1;
while(i<=100){
document.write(i+"<br>");
i++;
}
// 1-100的和
var i = 1;
var sum = 0;
while(i<=100){
sum+=i;
i++;
}
console.log(sum);
// for循环的使用
for(var i = 1;i<=100;i++){
console.log(i);
}
// 数组的使用
var arr = ["李白","杜甫","杜牧"];
console.log(arr.length)
for(var i = 0;i<arr.length;i++){
console.log(arr[i]);
}
案例:简易计算器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>购物简易计算器</title>
<script>
// 定义一个函数(java中的方法)
function calc(flag) {
console.log(flag)
// "" -> number 最后变成NaN
/* 先取到两个框的值 */
var a1 = parseInt(a.value);
var b1 = parseInt(b.value);
/* NaN在js中为假 */
if(!a1||!b1){
alert('格式错误,请输入数字')
}
if(flag=="+"){
c.value = a1 + b1;
}else{
eval(`c.value = parseInt(a.value)${flag}parseInt(b.value)`)
}
return "a";
console.log(flag)
}
</script>
</head>
<body>
第一个数字:<input type="text" id="a"><br>
第二个数字:<input type="text" id="b"><br>
<button onclick="calc('+')">+</button>
<button onclick="calc('-')">-</button>
<button onclick="calc('*')">*</button>
<button onclick="calc('/')">/</button><br>
计算结果:<input type="text" id="c"><br>
</body>
</html>
案例:switch语句的使用
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>使用switch语句</title>
</head>
<body>
<script>
var number=prompt('朋友,今天星期几呀','')
switch(number){
case '星期一':
alert('朋友,新的一周开始了');<!--弹窗,提示框-->
break;
case '星期二':
alert('今天吃牛肉');
break;
case '星期三':
alert('今天吃鱼');
break;
case '星期四':
alert('今天吃猪肉');
break;
case '星期五':
alert('今天吃土');
break;
case '星期六':
alert('今天休息');
break;
case '星期天':
alert('朋友,明天要上班呀');
break;
default:
alert('朋友,拜拜了');
break;
}
</script>
</body>
</html>