30.javaEE-前端(javaScript)

javaScript

JavaScript: 简称JS,是Netscape公司提供的嵌入在html网页中的一门脚本语言,可以实现网页的交互。为什么会设计js这么语言,是为了操作当前html 中dom树.实现页面动态变化.

JS特点及优势:
特点:
(1)JS是一门直译式的语言,直接执行源代码(是一边解释一边执行,不像Java需要提前编译为class文件再运行)
(2)JS是一门弱类型的语言
优势:
(1)交互性
(2)安全性
(3)跨平台性(跨平台:有浏览器的地方就可以执行JS)

一.在HTML书写JS的方式(掌握)
1、在script标签内部可以书写JS代码,如下:
script标签可以放在head或body或页面的其他位置中,一般放在head中

<title>语法演示</title>
	<script type="text/javascript">
	
		/* if...else功能演示,if条件里会自动转型 */
		/* var score=prompt("请输入您的成绩:");
		if(score>=80){
			alert("优秀!");
		}else if(score<80 && score>=60){
			alert("良好");
		}else{
			alert("不及格");
		} */
		
		
		/* switch功能演示 */
		/* day最开始得到的是字符串,通过-0,则会变成数值类型,
		switch语句case比较不会自动转换类型 */
		/* var day=prompt("请输入周几:")-0; */
		/* 这样也可以将其他类型转为整形 */
		/* day = parseInt(day);
		switch (day){
		case 1:alert("周一");break;
		case 2:alert("周二");break;
		case 3:alert("周三");break;
		case 4:alert("周四");break;
		case 5:alert("周五");break;
		default :alert("周末");break;
		} */
		
		
		/* 循环语句 */
		var sum=0;
		var i = 1;
		while(i<=50){
			sum += i;
			i ++;
		}
		console.log(sum);
		
		var arr=[89,"hello js",true,new Date()];
		for(var i=0;i < arr.length;i++){
			console.log(arr[i]);
		}
		
		
	</script>
</head>

2、通过script标签引入外部的JS文件
即将所有JS代码放在一个单独的JS文件中(后缀名为.js),再通过script标签引入JS文件即可,例如:
在html中:

<script type="text/javascript">
	 alert("引入JS的第一种方式!");
</script>
<script type="text/javascript" src="demo.js"></script>

Js相对于java多了几个东西:
1.多了对dom对象的操作.
2.多了事件.
3.多了效果.

二.js的输出

window.alert() 弹出警告框。
window.confirm() 弹出确认框
window.prompt()方法可以不带上window对象,直接使用
prompt()方法,弹出输入框.
document.write() 方法将内容写到 HTML文档中。
innerHTML 写入到 HTML 元素。
console.log() 写入到浏览器的控制台。

三.js变量的声明
1.使用var关键字,可以声明全局属性和局部属性
例如:

var length = 16;                                  // Number 通过数字字面量赋值 
var points = x * 10;                              // Number 通过表达式字面量赋值
var lastName = "Johnson";                         // String 通过字符串字面量赋值
var cars = ["Saab", "Volvo", "BMW"];              // Array  通过数组字面量赋值
var person = {firstName:"John", lastName:"Doe"}; 

2.不使用var关键字,声明的是全局属性

X = 3.14;
Y = “abcd”

3.let声明变量(let声明的变量只在大括号内有效,也称作局部变量)

let i = 5; 
for (let i = 0; i < 10; i++) { 
// 一些代码... 
} 
// 这里输出 i 为 5

4.Const 声明变量(const声明的变量是常量,类似于java中的final关键字)

扫描二维码关注公众号,回复: 9628501 查看本文章
const PI;// 错误写法
PI = 3.14159265359;
const PI = 3.14159265359;// 正确写法
const car = {type:"Fiat", model:"500", color:"white"}; // 创建常量对象 
car.color = "red"; // 修改属性: 
car.owner = "Johnson";// 添加属性 

const cars = ["Saab", "Volvo", "BMW"];// 创建常量数组 
cars[0] = "Toyota";// 修改元素 
cars.push("Audi");// 添加元素 

5.变量类型
(1)值类型(基本类型):
字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
A.数字

var length = 16;       // Number 通过数字字面量赋值 

B.字符串(注意如果字符串中有特殊符号,比如双引号,可以在该符号之前加上,转义字符)

var lastName = "Johnson";      // String 通过字符串字面量赋值

C.布尔类型

Var flag = true;

D.对空

Var tem = null;

E.未定义

Var t ;

(2)引用数据类型:
对象(Object)、数组(Array)、函数(Function)。

A.数组,java中的数组相同

var cars = ["Saab", "Volvo", "BMW"];    // Array  通过数组字面量赋值

B.对象就和java的类相同

var obj = {
    id:1,
    name:"gl",
    show:function () {
        alert(100)
    }}; /*对象*/
 

C.方法

var fu = function show() {
    $("button").prepend("<p>这是方法开头的段落!!</p>")
    $("button").before("<p>这是方法之前的段落!!</p>")
    $("button").after("<p>这是方法之后的段落!!</p>")
}

同样也可以用以下来指定变量类型(这样定的变量的类型都是object类型的):

var carname=new String;
var x=      new Number;
var y=      new Boolean;
var cars=   new Array;
var person= new Object;

例如:

var x = 1; /*数字*/
var y = "adsf"; /*字符串*/
var z = true; /*boolean*/
var q = null; /*null*/
var w ; /*undefined*/


var arr = ["qw","we"] /*数组*/
var obj = {
    id:1,
    name:"gl",
    show:function () {
        alert(100)
    }}; /*对象*/
var fn = function f(){ /*方法*/
    
}

四.Js方法即函数(方法用function关键字声明,括号内写参数)

特点:
1.参数写在括号内,并且不需要指定参数的类型
2.没有返回值类型,但是可以直接通过return关键字返回.
3.方法声明关键字就是function;
格式:
function functionName(参数1,参数2)
{
执行代码
[return …]
}

例子:


function show(a,b) {
    $("button").prepend("<p>这是方法开头的段落!!</p>")
    $("button").before("<p>这是方法之前的段落!!</p>")
    $("button").after("<p>这是方法之后的段落!!</p>")
    return 30;
}

方法的调用
第一种在元素标签中调用

<input type="button" value="按钮" onclick="show()">

(2)第二种在script中调用

function show() {
    document.getElementById("p1").innerHTML="p1";
    show2();
}
function show2() {
    document.getElementById("p2").innerHTML="p2";
    document.getElementById("p3").innerHTML=person.fu(25);
}
var person={
    id:1,
    name:"张三",
    fu:function (age) {
        return this.id + "," + this.name + "," + age;
    }
}

五.js对象
和java中的类非常相似,java需要定义类再创建对象赋值,而js声明类和创建对象一起完成.

var person = {
    id:1,
    name:"张三",
    age:24,
    gender:"男",
    getString:function () {
        return this.name + " " + this.gender + " " + this.age;
    }
}
$(function () {
    $("#inpu1").click(function () {
        $("p").text(person.getString())
    })
})

六.this关键字的使用
1.在对象中的方法使用this,this代指方法所属的对象

var person = { firstName: "John",
				 lastName : "Doe",
				 id : 5566,
				 fullName : function() { return this.firstName + " " + this.lastName; } };

2.在全局中使用this,this表示windows对象,也就是整个窗口

function myFunction() {
	 return this; }

3.在对元素进行操作中,this表示该html的标签元素

<button onclick="this.style.display='none'"> 点我后我就消失了 </button>

总结:Js对dom树的操作

JavaScript 能够改变页面中的所有 HTML 元素
JavaScript 能够改变页面中的所有 HTML 属性
JavaScript能够改变页面中的所有 CSS 样式
JavaScript 能够对页面中的所有事件做出反应

所有选中的dom树中的元素,都是得到了一个js对象.我们可以对这些对象进行操作.

发布了42 篇原创文章 · 获赞 0 · 访问量 654

猜你喜欢

转载自blog.csdn.net/weixin_45449911/article/details/104609449