JavaScript
html(结构)+css(美化)+javascript(行为)=DHTML(动态html)
前端框架:JQuery 让我们写javascript更省力
BootStrap 让我们写界面更省力
Vue 让前后端分离
二期的javaweb 前+后 不分离
1.JavaScript简介
- 一门客户端脚本语言
客户端:
1.客户端/服务器端(C/S)tcp/udp :QQ、微信、navicat......
2.浏览器/服务器端(B/S)
-
运行在客户端浏览器。每个浏览器都有JavaScript的解析引擎
-
脚本语言不要编译,直接可以被浏览器解析执行
搭建简易的功能网页html+css+js+node.js+mysql就可以了
Netscape(网景)开发的JavaScript,做浏览器的公司,现在没了
JavaScript=ECMAScript+文档对象模型DOM+浏览器对象模型BOM
2.ECMAScript
2.1 如何使用
1.内部js
<head>
<script>
//js代码
</script>
</head>
<body>
<script>
//js代码
</script>
</body>
js会按照文档的上下顺序,依次执行
2.外部js
创建一个js文件(index.js)--->内部引用js文件 (>)
内部js和外部js不要写在同一个
方式二:Object实际上由无序的名值对(类似JavaMap)组成的
2.4 运算符

1.一元运算符:+
将a由string变为number
var a = "10";
var b = +a;
console.log(typeof(b));---->number
2.关系运算符
== 比较值
=== 比值&比类型
判断空串:
//java
str=" ";
if(str.trim().length==0){
console.log("空串");
}
//js
if(!str.trim()){
console.log("空串");
}
2.5 流程控制
1.循环语句
- do...while
- while
- for
- for...in
function createFruit(){
//1.构建一个水果的数组
var fruits=["西瓜","橙子","香蕉","苹果","芒果"];
//2.循环打印水果
document.write("<ul>");
for(var i in fruits){
//i 代表依然是数组的下标,和Java代表元素不同
document.write(fruits[i]+"<br/>");
}
document.write("</ul>");
}
- break
- continue
2.6 函数
示例:
function name(arg0,arg1...argN){
//方法体
}
//执行函数
name();
参数:
//ECMAScript函数不介意传递进来多少个参数,也不在乎参数是什么类型.
function sayHi(){
alert("hello"+arguments[0]+","+arguments[1]);
}
sayHi("phenix");
sayHi("JavaScript","see you later");
sayHi("boy","girl","sunshine");
//没有返回类型,但是可以返回
function add(a,b){
return a+b;
//return 后面的方法永远不会执行
console.log("永远不会执行");
}
console.log(add(10));--->NaN
console.log(add(10,20));--->30
console.log(add());--->NaN
------------------------------
function add(a,b){
//查看参数值,默认对象arguments
for(var i in arguments){
console.log("参数:"+i+"值:"+arguments[i]+","+typeof(i));
}
//boolean:false/0/null/""
a = a||0;//当a不为null,用户传值,就取a,没有传值就给0
b = b||0;
return a+b;
//return 后面的方法永远不会执行
console.log("永远不会执行");
}
console.log(add(10));--->10
console.log(add(10,20));--->30
console.log(add());--->0
浙公网安备 33010602011771号