JS起步(学就完事了)

前言

        在学习JS之前,我们一般需要HTML与CSS基础,我们要先知道为什么需要学JavaScript以及JavaScript是什么?JavaScript 是一种脚本,一门编程语言,它可以在网页上实现复杂的功能,网页展现给你的不再是简单的静态信息,而是实时的内容更新,交互式的地图,2D/3D 动画,滚动播放的视频等等,这也是我们要学JS的原因,接下来将会讲JS的基本内容,让你对JS有一个基本了解。

目录

前言

一、了解JS

1.体验JS

2.基本概念

二、正式学习JS

1.引入JS

2.注释

3.变量

1)变量名

 2)var 声明

3)变量类型

4.函数

全局变量与局部变量


一、了解JS

1.体验JS

        我们先来体验一下JS,先在页面中添加我们的JS,我们知道CSS可以用<style>或者是<link>标签来引入,而JS只需要一个script标签。

<!DOCTYPE html>
<html lang="zh-Hans">
  <head>
    <meta charset="utf-8">
    <title>使用 JavaScript 的示例</title>
    <script>
        document.addEventListener("DOMContentLoaded", function() {
        // 创建函数
        function createParagraph() {
            let para = document.createElement('p');
            para.textContent = '你点击了这个按钮!';
            document.body.appendChild(para);
        }
        // 获取页面中的所有button元素
        const buttons = document.querySelectorAll('button');
    
        for(let i = 0; i < buttons.length ; i++) {
            // 监听button事件,并且调用函数
            buttons[i].addEventListener('click', createParagraph);
        }
        });
//上述代码不懂没关系,只是个演示
      </script>
  </head>
  <body>
    <button>点我</button>
  </body>
</html>

         该案例呈现的效果是点击按钮,则在页面中添加文字。这就是JS能在页面中呈现的一个基本效果。

2.基本概念

       在体验完之后,我们先学习几个基本概念:

        1.解释代码与编译代码:JavaScript 是轻量级解释型语言,当 JavaScript 源代码被执行时,它会被编译成二进制的格式,使代码运行速度更快。因为编译过程发生在代码运行中,而非之前,所以JavaScript 仍然是一门解释型语言。

        2.服务端代码与客户端代码:客户端代码是在用户的电脑上运行的代码,在浏览一个网页时,它的客户端代码就会被下载,然后由浏览器来运行并展示。可以说我们平时所看见的用户界面都是客户端代码构建,这也是 JavaScript需要实现的。而服务器端代码在服务器上运行,接着运行结果才由浏览器下载并展示出来。流行的服务器端 web 语言包括:PHP、Python、Ruby、ASP.NET 、Java等,但JavaScript 也可用作服务器端语言,我们使用Node.js 环境,也能够实现服务器端构建。也就是说JS不仅能写客户端,还能写服务端代码。

        3. javaScript的运行次序:当浏览器执行到一段 JavaScript 代码时,通常会按从上往下的顺序执行JS语句,这与大部分语言类似。

二、正式学习JS

1.引入JS

1)head中引入 JavaScript 函数

<!DOCTYPE html>
<html lang="zh-Hans">
  <head>
    <meta charset="utf-8">
    <title>使用 JavaScript 的示例</title>
    <script>
        document.addEventListener("DOMContentLoaded", function() {
        // 创建函数
        function createParagraph() {
            let para = document.createElement('p');
            para.textContent = '你点击了这个按钮!';
            document.body.appendChild(para);
        }
        // 获取页面中的button元素,所有的button将会变成一个数组
        const buttons = document.querySelectorAll('button');
    
        for(let i = 0; i < buttons.length ; i++) {
            // 监听button事件,并且调用函数
            buttons[i].addEventListener('click', createParagraph);
        }
        });
      </script>
  </head>
  <body>
    <button>点我</button>
  </body>
</html>

2)body中引入 JavaScript 函数

<!DOCTYPE html>
<html lang="zh-Hans">
  <head>
    <meta charset="utf-8">
    <title>使用 JavaScript 的示例</title>
  </head>
  <body>
    <button>点我</button>
    <script>
        document.addEventListener("DOMContentLoaded", function() {
        // 创建函数
        function createParagraph() {
            let para = document.createElement('p');
            para.textContent = '你点击了这个按钮!';
            document.body.appendChild(para);
        }
        // 获取页面中的button元素,所有的button将会变成一个数组
        const buttons = document.querySelectorAll('button');
    
        for(let i = 0; i < buttons.length ; i++) {
            // 监听button事件,并且调用函数
            buttons[i].addEventListener('click', createParagraph);
        }
        });
      </script>
  </body>
</html>

3)外部引入 JavaScript

我们将上述js代码写入basic.js(后缀必须要js)文件中,通过引入该文件实现代码调用。

<!DOCTYPE html>
<html lang="zh-Hans">
  <head>
    <meta charset="utf-8">
    <title>使用 JavaScript 的示例</title>
  </head>
  <body>
    <button>点我</button>
    <script src="./js/basic.js"></script>
  </body>
</html>

2.注释

就像 HTML 和 CSS,JavaScript 代码中也可以添加注释,浏览器会忽略它们,注释的作用就是让我们在一段时间够重新看我们的代码时能够快速理解代码意思,注释有两种形式。

一种是在双斜杠后添加单行注释(快捷键ctrl+/),比如:

// 我是一条注释

第二种在 /* 和 */ 之间添加多行注释,比如:

/*
  我也是
  一条注释
*/

合理的使用注释能够为我们带来很大帮助!!!

3.变量

1)变量名

在编程语言中,变量用于存储数据值。

JavaScript 使用 var 关键词来声明变量。= 号用于为变量赋值

在本例中,x 被定义为变量。然后,x 被赋的值是 7:

var x;

x = 7;

//以下形式也可以
var y = 8;

我们在命名变量名的时候有一定的规则,一般采用拉丁字符 (0-9,a-z,A-Z) 和下划线字符。我们需要注意以下几点:

  • 变量名不能以下划线,数字开头。比如_name,1name,都是不允许的。
  • 可以使用 驼峰命名法,用来将多个单词组在一起,小写整个命名的第一个字母然后大写剩下单词的首字符。
  • 变量名大小写敏感——因此myagemyAge是 2 个不同的变量。
  • 避免使用 JavaScript 的保留字给变量命名。保留字,即是组成 JavaScript 的实际语法的单词!因此诸如 varfunctionlet 和 for 等,都不能被作为变量名使用。

 2)var 声明

        在一开始我们使用var来声明变量。我们可以将声明理解为创建存放数值的容器。比如var x;创建了名为x的容器,用于存放数值。x=0,表示这个容器存放了0。同理我们用let与const都有这种效果,let与const在后期将会再描述。

3)变量类型

类型描述
Number存储数字
String存储字符串
Boolean存储布尔值
Array存储数组
Object存储对象

        变量类型指的是我们存储到容器的值为数字还是字符串还是其余类型,比如:

var x = 12;
//这是Number类型
var y = true;
//这是Boolean类型
var z = '你好';
//这是字符串类型
var z = [];
//这是Array类型
var z = {};
//这是Object类型

        因为javascript是弱类型语言,所以不像c,java有int,float这种关键词,只需要一个var或者let const就可以了。并且javaScript的变量能够动态改变类型,比如:

var x = 12;
//这个时候是数字
x= '你好';
//这个时候是字符串

typeof 操作符

我们可以通过typeof查看变量的类型

typeof "John"                 // 返回 string
typeof 3.14                   // 返回 number
typeof NaN                    // 返回 number
typeof false                  // 返回 boolean
typeof {name:'we', age:20}  // 返回 object
typeof new Date()             // 返回 object
typeof function () {}         // 返回 function

变量的类型转换

隐式类型转化:静悄悄地,JS代码不知不觉地就进行了类型转化,如下列例子
强制类型转化:写代码进行转化,

  • Boolean(value)——把给定的值转换成Boolean型;
  • Number(value)——把给定的值转换成数字(可以是整数或浮点数);
  • String(value)——把给定的值转换成字符串。
//当数值和字符串相加时,JavaScript 将把数值视作字符串。
var x = 10+'name'; //返回x= '10name'
//javaScript从左到右执行代码
var x = 10 + 1 + "name";//返回   '11name',10+1的时候都是Number,+字符转的时候Number转为String
var x = "name"+10 + 1;//返回  'name101'
//以上为隐式类型转换
var x = Number('12');//等效于x=12;把'12'转换为了12
//以上为强制类型转换

4.函数

JavaScript 函数通过 function 关键词进行定义,其后是函数名和括号 ()。

function name(参数 1, 参数 2, 参数 3) {
    要执行的代码
}
上述为定义函数

name(参数 1 ,参数 2 ,参数 3);
这里为使用函数

函数名可包含字母、数字、下划线和美元符号(规则与变量名相同)。

圆括号可包括由逗号分隔的参数:

由函数执行的代码被放置在花括号中:{}

函数参数 是在函数定义中所列的名称,是当调用函数时由函数接收的真实的

一般函数有两个过程,一个是声明函数,第二是调用函数(使用)。

全局变量与局部变量

在 JavaScript 函数中声明的变量,会成为函数的局部变量。局部变量只能在函数内访问,在函数开始时创建,在函数完成时被删除。

// 此处的代码name这个变量为未声明

function myFunction() {
    var name = "haha";
    // name为局部变量,在函数内部可以使用这个变量
}

// 此处的代码name这个变量为未声明

全局变量则可以在函数与函数外都可使用。

console.log(typeof name);
function myFunction() {
    var name = 12;
}
var name;

        我们看这段代码,typeod name的返回值为string,你会想这个name之前都没有声明,为什么会出现这种效果。

        这个是因为js代码有变量提升的机制,所有声明,将会在最开始被加载。所以声明变量将会在一开始就执行,赋值的代码与其他代码则在声明的代码处理完之后按从上到下的顺序处理。

 本文部分借鉴文档来自w3c或者mdn,这两个网站资料对于学习前端有很大帮助。

未来1个月都将会持续复习JS内容,如果感兴趣可以请您点点关注嘛>_<。

以上内容如有错误,麻烦大家在评论区指正,让我们共同进步。 加油!!!

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网上有人分享经验,说到学习前端开发技术JavaScript很实用的一些书籍,从入门到高级,一一列举,很不错。整理了一下发上来。 名称: JavaScript+DOM编程艺术.pdf 概述: “本书理应奉为经典。文笔清晰,采用了优秀的编程原则,严格遵守相应的标准。真是完美的结合。” ——Slashdot “我要隆重推荐本书。它前所未有地演示了DOM脚本编程的真正潜力。无论你是JavaScript新手还是专家,本书都绝对必读。”——Garrent Dimon,Digital-Web.com 随着Ajax的兴起,JavaScript再一次成为炙手可热的技术。然而,在历史上,它并不是一直这么幸运,由于主流浏览器之间的不兼容,以JavaScript为核心的DHTML曾经昙花一现,很快被人遗忘。 俱往矣,如今的网页设计已经翻开了新的一页。在CSS彻底改变了Web页面布局的方式之后,万维网联盟跨浏览器的DOM标准的制定,使JavaScript终于突破瓶颈,成了大大改善网页用户体验的利器。 本书在简洁明快地讲述JavaScript和DOM的基本知识之后,过几个实例演示了大师级的网页开发技术,并透彻阐述了一些至关重要的JavaScript编程原则和最佳实践,包括预留退路、循序渐进和以用户为中心等。读者可以非常直观地加以领悟,迅速使自己的编程技术更上一层楼。 第1章 JavaScript简史  1.1 JavaScript的起源  1.2 浏览器之争  1.3 制定标准  1.4 小结 第2章 JavaScript语法  2.1 准备工作  2.2 语法  2.3 语句  2.4 变量  2.5 操作  2.6 条件语句  2.7 循环语句  2.8 函数  2.9 对象  2.10 小结 第3章 DOM  3.1 文档:DOM中的“D”  3.2 对象:DOM中的“O”  3.3 模型:DOM中的“M”  3.4 趁热打铁  3.5 小结 第4章 案例研究:JavaScript美术馆  4.1 编写标记语言文档  4.2 编写JavaScript函数  4.3 JavaScript函数的调用  4.4 对JavaScript函数进行功能扩展  4.5 小结 第5章 JavaScript编程原则和良好习惯  5.1 不要误解JavaScript  5.2 预留退路  5.3 向CSS学习  5.4 分离JavaScript  5.5 向后兼容性  5.6 小结 第6章 案例研究:JavaScript美术馆改进版  6.1 快速回顾  6.2 解决“预留退路”问题  6.3 解决“分离JavaScript”问题  6.4 JavaScript函数的优化:不要做太多的假设  6.5 DOM Core和HTML-DOM  6.6 小结 第7章 动态创建HTML内容  7.1 [removed]()方法  7.2 innerHTML属性  7.3 DOM提供的方法  7.4 重回“JavaScript美术馆”  7.5 小结  7.6 下章简介 第8章 充实文档的内容  8.1 不应该做的事情  8.2 把“不可见”变成“可见”  8.3 原始内容  8.4 XHTML文档  8.5 CSS  8.6 JavaScript代码  8.7 小结  8.8 下章简介 第9章 CSS-DOM  9.1 三位一体的网页  9.2 style属性  9.3 何时该用DOM脚本去设置样式信息  9.4 className属性  9.5 小结 第10章 用JavaScript实现动画效果  10.1 何为动画  10.2 实用的动画  10.3 改进动画效果  10.4 最后的优化  10.5 小结 第11章 以致用:JavaScript网站设计实战  11.1 案例背景介绍  11.2 页面视觉效果设计  11.3 CSS  11.4 颜色  11.5 XHTML文档  11.6 JavaScript脚本  11.7 小结  11.8 下章简介 第12章 展望DOM脚本编程技术  12.1 Web的现状  12.2 Ajax技术  12.3 Web应用  12.4 小结 附录 DOM方法和属性
在pip install scikit-learn完事后出现以下报错,ERROR: Exception: Traceback (most recent call last): File "E:\Anaconda\envs\pytorch\lib\site-packages\pip_vendor\urllib3\response.py", line 438, in _error_catcher yield File "E:\Anaconda\envs\pytorch\lib\site-packages\pip_vendor\urllib3\response.py", line 561, in read data = self._fp_read(amt) if not fp_closed else b"" File "E:\Anaconda\envs\pytorch\lib\site-packages\pip_vendor\urllib3\response.py", line 527, in _fp_read return self._fp.read(amt) if amt is not None else self._fp.read() File "E:\Anaconda\envs\pytorch\lib\site-packages\pip_vendor\cachecontrol\filewrapper.py", line 90, in read data = self.__fp.read(amt) File "E:\Anaconda\envs\pytorch\lib\http\client.py", line 463, in read n = self.readinto(b) File "E:\Anaconda\envs\pytorch\lib\http\client.py", line 507, in readinto n = self.fp.readinto(b) File "E:\Anaconda\envs\pytorch\lib\socket.py", line 704, in readinto return self._sock.recv_into(b) File "E:\Anaconda\envs\pytorch\lib\ssl.py", line 1242, in recv_into return self.read(nbytes, buffer) File "E:\Anaconda\envs\pytorch\lib\ssl.py", line 1100, in read return self._sslobj.read(len, buffer) socket.timeout: The read operation timed out During handling of the above exception, another exception occurred: Traceback (most recent call last): File "E:\Anaconda\envs\pytorch\lib\site-packages\pip_internal\cli\base_command.py", line 160, in exc_logging_wrapper status = run_func(*args) File "E:\Anaconda\envs\pytorch\lib\site-packages\pip_internal\cli\req_command.py", line 247, in wrapper return func(self, options, args) File "E:\Anaconda\envs\pytorch\lib\site-packages\pip_internal\commands\install.py", line 419, in run requirement_set = resolver.resolve( File "E:\Anaconda\envs\pytorch\lib\site-packages\pip_internal\resolution\resolvelib\resolver.py", line 92, in resolve result = self._result = resolver.resolve( File "E:\Anaconda\envs\pytorch\lib\site-packages\pip_vendor\resolvelib\resolvers.py"这是什么原因
06-11

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值