JavaScript

1、引入JavaScript

a、内部标签

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        alert("test");
    </script>
</head>
<body>

</body>
</html>

b、外部引入

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js1.js"></script>
</head>
<body>

</body>
</html>

2、基本语法

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        //所有得变量都是使用var来定义
       var num = 123;
       var name = "cling"
        alert(num+name)
        //console.log(变量):用来在网页中得控制台来打印变量
    </script>
</head>
<body>

</body>
</html>

2.1 严格检查模式

在script标签得第一行中添加  'use strict'。

2.2多行字符串编写:

括在table键上面哪个键的里面

2.3 数组

a.slice()截取array中的一部分,规则也是左边闭区间右边开区间。
b.push():压入到尾部。pop:尾部弹出
unshift:压入到头部。shift:从头部弹出
c.sort()排序。reverce()倒序
d.concat():修改数组,返回一个新的数组。但是原来的数组没有被破坏
JavaScript

e.join():拼接数组
JavaScript

2.4对象

a.定义
var person = {
	属性 :属性值 ,
	属性 :属性值,
	属性 :属性值
}
b.动态添加、删除属性
		delete person name		//删除name属性
		person.haha = "hahah"		//添加haha属性
c.判断属性是否在对象中,其父类的属性也算
	属性 in 对象
d.判断对象自己本身的属性:

JavaScript

2.5 Map和Set

Map:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        'use strict'
        var map = new Map([['tom',100],['jack',90]]);       //Map的定义
        var name= map.get("tpm")                            //通过key获取value
        map.set("cling",60)                                 //新增或则修改
        map.delete("cling")                                 //删除
    </script>
</head>
<body>
</body>
</html>

Set:无序不重复的集合

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        'use strict'
        var set = new Set([1,2,3]);         //创建set
        set.add(5);                         //添加
        set.delete(4)                       //删除
    </script>
</head>
<body>
</body>
</html>

iterator :遍历Map和Set

for(let x of arr){
console.log(x)
}
for(let x of map){
console.log(x)
}
for(let x of set){
console.log(x)
}

3.1函数

//第一种方式:
    function abs(x) {
        ...
    }
    //第二种方式
    var  abs = function (x) {
        ...
    }

3.1.1全局变量的规范:

因为定义的全局变量都会绑定到Windows上。所以在使用了不同的js文件,就会使相同的全局便量发生冲突。为了避免这种冲突就需要使用自己定义的唯一空间名字中,来降低全局命名的冲突问题。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
    var cling = {};			//定义自己的唯一空间
    cling.name = "cling";
    cling.age = 3
    </script>
</head>
<body>
</body>
</html>

3.1.2 局部的变量建议使用let定义

a.由于使用的var定义,所以在作用域之外后i还是可以使用。

JavaScript
JavaScript
b.使用let来定义后就使真的局部变量了
JavaScript

JavaScript

3.1.3 ES6中使用const定义的常量(全大写)不能更改

3.1.4 JSON和JS对象对比

        var user = {
            name:"cling",
            age:3,
            sex:'mail'
        }
        var jsonUser = JSON.stringify(user);    //对象转换为json字符串
        var obj = JSON.parse(jsonUser);         //json字符串转化为对象

3.1.5 操作BOM对象

a.window(浏览器窗口)

window.innerHeight
763
window.outerHeight
834
window.innerWidth
522
window.outerWidth
1536
window.alert("asdf")

b.location(当前的页面URL的信息)

location
Location {ancestorOrigins: DOMStringList, href: 'http://localhost:63342/JavaScript/lesson1/js1.html?_ijt=uj8je791vjtt6l1tg6jks02tms', origin: 'http://localhost:63342', protocol: 'http:', host: 'localhost:63342', …}
ancestorOrigins: DOMStringList {length: 0}
assign: ƒ assign()
hash: ""
host: "localhost:63342"
hostname: "localhost"
href: "http://localhost:63342/JavaScript/lesson1/js1.html?_ijt=uj8je791vjtt6l1tg6jks02tms"
origin: "http://localhost:63342"
pathname: "/JavaScript/lesson1/js1.html"
port: "63342"
protocol: "http:"
reload: ƒ reload()
replace: ƒ replace()
search: "?_ijt=uj8je791vjtt6l1tg6jks02tms"
toString: ƒ toString()
valueOf: ƒ valueOf()
Symbol(Symbol.toPrimitive): undefined
[[Prototype]]: Location

c.document(文本内容)

document.title="cling"
'cling'

d.history

history.back()		//后退
history.forward()	//前进

3.1.6操作DOM对象

获取节点

var h1 = document. getElementsBytagName(hl),
var p1= document. getElementById(p1);
var p2 = document. getElementsByctassName(p2);

更新节点

s.style.color='yellow';		 //s使已经获取的一个节点
'yellow'
s.style.fontSize='500px';
'500px'

删除节点

方法一
<body>
<div id="father">
    <h1>h1</h1>
    <p id="p1">p1</p>
    <p class="p2">p2</p>
    <ul id="ul">
        <li>li1</li>
        <li>li2</li>
    </ul>

    <script>
    </script>
</div>
</body>

JavaScript

方法二

注意:同时删除多个节点的时候,children的下表是时刻都在变化的。
JavaScript

插入节点

创建一个新的标签:

var newp = document.createElement('p'); //创建一个p标签
ul.append(newp);		//插入到ul中去
newp.id='newp'		//设置id
newp.innerText='cling'		//设置名字

4、表单操作

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="">
    <p>
        <span>username:</span> <input type="text" id="username">
    </p>
    <p>
        <span>password:</span> <input type="password" id="pwd">
    </p>
    <button type="button" onclick="click()">提交</button>
</form>
<script>
    function click() {
        var uname = document.getElementById("username");
        var pwd = document.getElementById("pwd");
        var pwd_md5 = md5(pwd);         //使用md5进行加密
        console.log(uname.value);           //这里的value有点问题
        console.log(pwd.value);
    }
</script>
</body>
</html>

jQuery

jQuery包含大量的JavaScript函数

1、

可以引入下载的包也可以引用在线的CDN.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>        //在线cdn
</head>
<body>
<a href="" id="test-jquery">点击</a>
<script>
    $("#test-jquery").click(function () {
            alert("a")
    })
</script>
</body>
</html>

2、鼠标位置追踪

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
</head>
<style>
    #divMouse{
        height: 500px;
        width: 500px;
        border:1px solid red;
    }
</style>
<body>
    mouse:<span id="mouseMove">展示</span>
    <div id="divMouse">moveMouse</div>
<script>
    $(function () {
        $("#divMouse").mousemove(function (e) {
            $("#mouseMove").text('X:'+e.pageX+',Y:'+e.pageY);
        })
    })
</script>
</body>
</html>

3、juqery相关操作

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
</head>
<body>
<ul id="ul">
    <li name="li1">one</li>
    <li class="class1">two</li>
    <li id="li3">three</li>
    <li id="li4">four</li>
</ul>

<script>
    $('#ul li[class=class1]').text();               //读取内容
    $('#ul li[class=class1]').text("修改的内容");       //修改内容提供
    $('#ul li[id=li3]').html("<strong>newStrong</strong>");     //修改HTML格式
    $('#ul li[class=class1]').css({ "color": "#ff0011", "background": "blue" });
    $('#ul li[class=class1]').hide();           //隐藏标签
    $('#ul li[class=class1]').show();           //显示标签
</script>
</body>
</html>
上一篇:Dom——下拉菜单


下一篇:python测试开发django-101.Form渲染成HTML的格式(as_p,as_ul,as_table)