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 运算符

JavaScript(一)---入门_JavaScript

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