兄弟会学习笔记07--Js新手入门

兄弟会学习笔记07--Js新手入门

何为Js?

JavaScript 是一种轻量级的编程语言。

JavaScript 是可插入 HTML 页面的编程代码。

JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。

JavaScript 很容易学习。

JavaScript 是前端开发者使用的主要编程语言,随着前端技术的发展,这门语言的边界也得以不断扩展。

在学习js之前,先声明一下,Js的脚本语言是必须要放在 < script > 标签内的,且< script >标签可以放在 < head > 里也可以放在 < body > 里,一般情况下,除了想要先加载的文件外,我们把它放在< body >里。

如何编写Js
  • 页面内写法

首先呢,当一个浏览器拿到一个网页的时候,比如拿到了一个HTML 的网页,它从上到下依次执行,当它遇上 < link > 标签(也就是网页中引用样式)的时候,它会一边执行< link >一边继续往下进行页面的渲染,二者并不冲突。

   但是,当它遇上 < script > 标签(也就是网页中引用脚本)的时候浏览器则会把渲染的权力交给js,因为js是单线程的,在执行js脚本的时候浏览器是不进行渲染的,直到js脚本文件执行完毕,才会将渲染的权力重新交给浏览器继续完成渲染。

   当一个网页脚本文件很大,且又放在了< head >里,则有可能在进入页面时加载慢,出现空白的现象(就是因为执行js的时候没有同时渲染页面样式导致的),放在后面就可以让页面先加载样式,后执行脚本就不会出现这种问题了。 测试代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    // 这个位置也是可以放script标签的,但是建议现在body标签里面
    <title>js的学习及使用</title>
</head>
<body>
    <script>
        // 在页面上添加内容
        document.write("<h1>我是标题</h1>");
        document.write("<div>我是一个div</div>");
    </script>
</body>
</html>

上面例子中的js语句会在页面加载时执行,项目中我们通常需要在某个事件发生的时候执行代码,比如当用户点击按钮时,如果我们把js的代码放到函数中,就可以在事件发生的时候调用该函数:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="./styles.css">
    <title>js的学习及使用</title>
    <style>
        .btn {
            width: 200px;
            height: 50px;
            line-height: 50px;
            text-align: center;
            border-radius: 20px;
            background: pink;
            /* 鼠标变小手 */
            cursor: pointer;
            margin: 100px auto;
        }
        .text {
            width: 260px;
            margin: 100px auto;
        }
    </style>
</head>
<body>
    <h2 class="text">我是标题</h2>
    <!-- 2. 点击时调用该事件 -->
    <div class="btn" onclick="text()">点击改变标题</div>
    <script>
        // 1. 把改变后的内容封装在这个text()函数内
        function text() {
            document.querySelector(".text").innerHTML="我是被改过的标题哟~~"
        }
    </script>
</body>
</html>
  • 页面外写法

也可以把脚本保存到外部文件中。外部文件通常包含被多个网页使用的代码。

外部 JavaScript 文件的文件扩展名是 .js。

如需使用外部文件,请在

<!DOCTYPE html>
<html>
<body>
<script src="myScript.js"></script>
</body>
</html>

注意:外部脚本不能包含 <script> 标签。

常用Js语法

弹窗

alert('我是一个alert弹窗!');
confirm('我是confirm弹窗');
prompt('你吃饭了没?');

变量

var 变量的名字; // 此时变量仅仅被创建,但是没有存储数据
var 变量的名字 = 变量的值; // 变量不仅仅被创建了,而且还被存储数据
var num = 10 + 2; // 创建了一个变量,变量名叫做num ,并且将数据10 存储到了变量num当中。
// num 相当于存储了10+2这个表达式的结果 
// console.log()里面如果输出的是一段话,那么这段话外面一定要使用引号 
// 如果console.log()里面输出的是一个表达式或者变量,那么就不需要引号。
console.log("尹志平真帅");
// console.log(尹志平真帅); // 此时本条语句会报错,程序会把`尹志平真帅`当做一个变量 
console.log(num);
var _name; // 正确的命名规范
var $age ; // 正确的命名规范
var 1ppp; // 错误的命名

第一个字符,可以是任意 Unicode 字母(包括英文字母和其他语言的字母),以及美元符号($)和下划线(_)。

第二个字符及后面的字符,除了 Unicode 字母、美元符号和下划线,还可以用数字0-9。

总结起来:就是开头字母可以是英文、字母、下划线、$等。但是不能以数字开头。

如何通过Js控制Html元素

通过document.getElementById()这个API来获取网页节点。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>获取页面元素</title>
</head>
<body>
<div id="d1">
hello,world!
</div>
</body>
<script>
// 在当前网页文档中获取元素,通过元素的id值来获取元素
var oDiv = document.getElementById('d1');
console.log(oDiv);
</script>
</html>

可以通过element.innerHTML属性获取元素内的内容。

如果目标元素是input,我们需要获取的是input的内部的值,可以通过value属性来获取input当中的值。获取其他标签里面的内容,需要使用innerHTML.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>获取页面元素</title>
</head>
<body>
<div id="d1">
hello,world!
</div>
<input type="text" id="name" value="张三">
</body>
<script>
// 在当前网页文档中获取元素,通过元素的id值来获取元素
var oDiv = document.getElementById('d1');
console.log(oDiv);
var content = oDiv.innerHTML;
console.log(content); 
// 获取一个input里面value的值
var oInput = document.getElementById('name');
console.log(oInput);
var oInput_value = oInput.value;
console.log(oInput_value);
</script>
</html>
数据类型

js当中数据类型分为两类:原始数据类型和引用数据类型。

原始类型又称之为基础数据类型,而引用数据类型又称之为对象类型。

原始类型:

Boolean
Null
Undefined
Number
String
Symbol

引用数据类型:

Object
Array
Function
Date
Math
RegExp 二者在内存中存储的位置不同。具体来讲,原始数据类型存储在栈中。而引用数据类型实际存在内存的堆中 。而如果把某个引用数据类型的数据存储到了一个变量当中,本质上是把数据在堆中的位置存储在了变量中,而 变量存储在内存的栈中。

参看资料:

小白日记

新手笔记

Author face

Darling

学习是一件辛苦的事,然而他是一项最划算的投资

Recent post