JavaScript基本第一天总结

JavaScript介绍

JavaScript 是什么?

  1. JavaScript (是什么?)

是一种运行在客户端(浏览器)的编程语言,实现人机交互效果。

  1. 作用(做什么?)

    网页特效 (监听用户的一些行为让网页作出对应的反馈) 表单验证 (针对表单数据的合法性进行判断) 数据交互 (获取后台的数据, 渲染到前端) 服务端编程 (node.js)

JavaScript的组成(有什么?)

1.ECMAScript: 规定了js基础语法核心知识。 ​ 比如:变量、分支语句、循环语句、对象等等 ​ 2.Web APIs : ​ DOM 操作文档,比如对页面元素进行移动、大小、添加删除等操作 ​ BOM 操作浏览器,比如页面弹窗,检测窗口宽度、存储数据到浏览器等等 ​ 注意 DOM属于BOM

JavaScript 的书写位置

1. 内部 JavaScript

直接写在html文件里,用script标签包住 ​

    <script>let num2 ='2';let num3=num2-0;// 最简洁的写法  //let num4=+num2;console.log(typeof num4);</script>

规范:script标签写在</body>上面

拓展: alert(‘你好,js’) 页面弹出警告对话框

注意事项:

我们将 <script> 放在HTML文件的底部附近的原因是浏览器会按照代码在文件中的顺序加载 HTML。

如果先加载的 JavaScript 期望修改其下方的 HTML,那么它可能由于 HTML 尚未被加载而失效。

因此,将 JavaScript 代码放在 HTML页面的底部附近通常是最好的策略。

2.外部 JavaScript

代码写在以.js结尾的文件里

语法:通过script标签,引入到html页面中。

     <script src="./lib/jquery.js"></script>
​

注意事项

        1. script标签中间无需写代码,否则会被忽略!2. 外部JavaScript会使代码更加有序,更易于复用,且没有了脚本的混合,HTML 也会更加易读,因此这是个好的习惯。

3.内联 JavaScript

代码写在标签内部

语法:

    <button οnclick="alert('你好!!');"></button>

注意: 此处作为了解即可,我们并不推荐,但是后面vue中会看到这种使用模式

书写的位置尽量写到文档末尾 </body> 前面 ​ 外部 js 标签中间不要写代码,否则会被忽略

JavaScript 的注释

会使用两种JavaScript注释方法

注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释或提示,能提高程序代码的可读性。注释只是为了提高可 读性,不会被计算机编译

单行注释 符号:// 作用://右边这一行的代码会被忽略 快捷键:ctrl + /

块注释 符号:/* / 作用:在/ 和 */ 之间的所有内容都会被忽略

JavaScript的结束符

了解JavaScript结束符

代表语句结束 英文分号 ; 可写可不写(现在不写结束符的程序员越来越多) 换行符(回车)会被识别成结束符 ,所以一个完整的语句,不要手动换行 因此在实际开发中有许多人主张书写 JavaScript 代码时省略结束符 但为了风格统一,要写结束符就每句都写,要么每句都不写(按照团队要求.)

JavaScript输入和输出语法

输出和输入也可理解为人和计算机的交互,用户通过键盘、鼠标等向计算机输入信息,计算机处理后再展示结果给用户,这便是一次输入和输出的过程。

向body内输出内容 ​ 如果输出的内容写的是标签,也会被解析成网页元素

              document.write("你好!!!!");

页面弹出警告对话框

            alert("要输出的内容!!!");

控制台输出语法,程序员调试使用

        console.log("控制台打印");

显示一个对话框,对话框中包含一条文字信息,用来提示用户输入文字,获取的输入内容是字符串

    prompt("请输入你的名字??");

变量

理解变量是计算机存储数据的“容器”

  1. 变量:

    白话:变量就是一个装东西的盒子。 通俗:变量是计算机中用来存储数据的“容器”,它可以让计算机变得有记忆。

  2. 注意:变量不是数据本身,它们仅仅是一个用于存储数值的容器。可以理解为是一个个用来装东西的纸箱子

变量的基本使用

声明变量: 要想使用变量,首先需要创建变量(专业说法: 声明变量)

声明变量有两部分构成:声明关键字、变量名(标识) let 即关键字 (let: 允许、许可、让、要),所谓关键字是系统提供的专门用来声明(定义)变量的词语

        let  age;age=12;

age 即变量的名称,也叫标识符

变量赋值: 定义了一个变量后,你就能够初始化它(赋值)。在变量名之后跟上一个“=”,然后是数值。

注意:是通过变量名来获得变量里面的数据

也可以声明变量的时候同时给变量初始化。

let age =12;

更新变量: 变量赋值后,还可以通过简单地给它一个不同的值来更新它

let age =18;
age=12;
document.write(age);

注意: let 不允许多次声明一个变量。

声明多个变量:

    let  age =18, name='pink'

变量案例- 交换变量的值

有2个变量: num1 里面放的是 10, num2 里面放的是20 最后变为 num1 里面放的是 20 , num2 里面放的是 10

let   num1 = 10, num2=20,temp;
temp =num1;
num1 =num2;
num2=num3;
document.write(num1,num2);
​

变量的本质

内存:计算机中存储数据的地方,相当于一个空间 变量:是程序在内存中申请的一块用来存放数据的小空间

变量命名规则与规范

规则:必须遵守,不遵守报错 规范:建议,不遵守不会报错,但不符合业内通识

  1. 规则:

    不能用关键字 关键字:有特殊含义的字符,JavaScript 内置的一些英语词汇。例如:let、var、if、for等 只能用下划线、字母、数字、$组成,且数字不能开头 字母严格区分大小写,如 Age 和 age 是不同的变量

  2. 规范: 起名要有意义 遵守小驼峰命名法 第一个单词首字母小写,后面每个单词首字母大写。例:userName

以下哪些是合法的变量名?

数据类型

基本数据类型有哪些

基本数据类型 ​ 引用数据类型

数据类型
number数字类型 是我们生活中学习到的数字,可以是整数、小数、正数、负数
string 字符串类型 通过推荐使用单引号('')、双引号("")、反引号(``) 配套出现
boolean 布尔类型 只有两个值true 和false
undefined 未定义 只有一个值undefined,是比较特殊类型
null 空类型 表示值为空

数字类型(number)

即我们数学中学习到的数字,可以是整数、小数、正数、负数。

avaScript 中的正数、负数、小数等 统一称为 数字类型。

JS 是弱数据类型,变量到底属于那种类型,只有赋值之后,我们才能确认 Java是强数据类型 例如 int a = 3 必须是整数

字符串类型(string)

通过单引号( '') 、双引号( "")或反引号( ` )包裹的数据都叫字符串,单引号和双引号没有本质上的区别,推荐使用单引号。

let name='张三';

注意事项:

  1. 无论单引号或是双引号必须成对使用

  2. 单引号/双引号可以互相嵌套,但是不以自已嵌套自已(口诀:外双内单,或者外单内双)

  3. 必要时可以使用转义符 \,输出单引号或双引号

字符串拼接:

作用

拼接字符串和变量 在没有它之前,要拼接变量比较麻烦

符号 反引号 ${变量名}

在英文输入模式下按键盘的tab键上方那个键(1左边那个键) 内容拼接变量时,用 ${} 包住变量

    <script>let name =prompt("请输入你的名字");
​let age  =prompt("请输入你的年龄");// 使用反引号 document.write(`大家好,我叫${name},今年${age}岁了`);</script>

布尔类型(boolean)

表示肯定或否定时在计算机中对应的是布尔类型数据。 它有两个固定的值 true 和 false,表示肯定的数据用 true(真),表示否定的数据用 false(假)。

let  name = true;
let age  =false;
​
if(name ==true){console.log("登录成功!!");
}else{consloe.log("登录失败!!");
}

未定义类型(undefined)

未定义是比较特殊的类型,只有一个值 undefined。 什么情况出现未定义类型? 只声明变量,不赋值的情况下,变量的默认值为 undefined,一般很少【直接】为某个变量赋值为 undefined。

工作中的使用场景: 我们开发中经常声明一个变量,等待传送过来的数据。 如果我们不知道这个数据是否传递过来,此时我们可以通过检测这个变量是不是undefined,就判断用户是否有数据传递过来。

未定义是比较特殊的类型,只有一个值 undefined。

null(空类型)

null 表示 值为 空

null 和 undefined 区别: undefined 表示没有赋值 null 表示赋值了,但是内容为空

null 开发中的使用场景: 官方解释:把 null 作为尚未创建的对象 大白话: 将来有个变量里面存放的是一个对象,但是对象还没创建好,可以先给个null

检测数据类型

控制台语句经常用于测试结果来使用。 可以看出数字型和布尔型颜色为蓝色,字符串和undefined颜色为灰色

通过 typeof 关键字检测数据类型

         let num =123;let  str= num.toString();console.log(typeof str);
    <script>let num = 1;let userName = '翠花';let isRain = true;let foods;let money = null; // 后面继续讲解到 引用类型的时候去补充
​// console.log("num是什么数据类型");// 能不能通过程序的方式 自动的输出当前变量的数据类型!!
​// typeof
​console.log(typeof num); //  number 输出  num变量的类型console.log(typeof userName); // stringconsole.log(typeof isRain); // booleanconsole.log(typeof foods); // undefinedconsole.log(typeof money); // object 对象类型</script>

类型转换

为什么需要类型转换

JavaScript是弱数据类型: JavaScript也不知道变量到底属于那种数据类型,只有赋值了才清楚。 坑: 使用表单、prompt 获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算。

此时需要转换变量的数据类型。 通俗来说,就是把一种数据类型的变量转换成我们需要的数据类型。

隐式转换

些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换。

+号两边只要有一个是字符串,都会把另外一个转成字符串 除了+以外的算术运算符 比如 - * / 等都会把数据转成数字类型

+号作为正号解析可以转换成Number

显式转换

编写程序时过度依靠系统内部的隐式转换是不严禁的,因为隐式转换规律并不清晰,大多是靠经验总结的规律。 为了避免因隐式转换带来的问题,通常根逻辑需要对数据进行显示转换。

概念: 自己写代码告诉系统该转成什么类型

转换为数字型

Number(数据) 转成数字类型 如果字符串内容里有非数字,转换失败时结果为 NaN(Not a Number)即不是一个数字 NaN也是number类型的数据,代表非数字 parseInt(数据) 只保留整数 parseFloat(数据) 可以保留小数

转换为字符型: String(数据) 变量.toString(进制)


<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style></style>
</head>
<body><script>let goodsName=prompt("请输入商品名称");let price=prompt("请输入商品价格");let nums=prompt("请输入商品数量");// let count=prompt("请输入商品");let totel =price*nums;let address=prompt("请输入收货地址");let str=`${goodsName}${price}${nums}${totel}${address}`;document.write(str);</script>
</body>
</html>
​

JavaScript基本第一天总结相关推荐

  1. JavaScript学习 第一课(一)

    JavaScript学习 第一课(一) 学习内容 一.什么是JavaScript 二.如何引用JavaScript 三.JavaScript使用时注意的事项 四.JavaScript中的保留字与关键字 ...

  2. 《Javascript入门学习全集》 Javascript学习第一季(7)

    Javascript学习第一季(7)   上篇文章我们讲了 用dom方式 创建节点,复制节点,插入节点. 今天我们将讲 删除节点,替换节点,查找节点等. 直接从方法说起: <!--[if !su ...

  3. javascript百炼成仙 第一章 掌握JavaScript基础1.6 叶老

    这一日,叶小凡来到青山院附近的小山上修炼,忽然,被一块石头绊了一跤.正在他自认倒霉打算爬起来的时候,在石头缝里边发现了一枚古怪的戒指.戒指通体呈现一种枯黄色,似有一些年代悠久之感. "摔了一 ...

  4. javascript百炼成仙 第一章 掌握JavaScript基础01 初入宗门

    前些天发现了一个巨牛的人工智能学习博客,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转 乐阳村,处于脚本大陆东部的边缘地带,民风淳朴,村民日出而作,日落而息.这一日清晨,所有村民来到村庄的门口,正 ...

  5. javascript百炼成仙 第一章 掌握JavaScript基础1.8 对象的取值

    "小娃娃,我现在问你,如果我事先不知道对象的某个属性叫什么,那又该怎么访问对象中对应这个属性的值呢?"叶老笑呵呵地问到. "什么什么,事先都不知道对象的属性名称,那怎么可 ...

  6. javascript百炼成仙 第一章 掌握JavaScript基础1.4数据类型

    修行还在继续,随着对要诀的深入,叶小凡明白,在编程世界,刚才的直接量都属于一种数据.和人有男女一样,数据也是有类型的. 在JavaScript中,数据可分为两类,分别为原生数据类型(primitive ...

  7. javascript百炼成仙 第一章 掌握JavaScript基础1.7 对象数据类型

    听到这句话,叶小凡一顿,动作停止了下来. 对象数据类型,这在JavaScript基础修炼要诀中只是提了一下,但是并没有细讲,这个对象数据类型一直以来都深深地勾起了叶小凡的好奇心. "小娃娃, ...

  8. javascript百炼成仙 第一章 掌握JavaScript基础1.5基础考核

    叶小凡兴奋,那种钻研了很久之后猛地豁然开朗,感觉实在是太爽了.乘着心情大好,叶小凡继续钻研"JavaScript基础修炼要诀",一晃半天时间过去了.叶小凡性格谨慎,也非常刻苦,有很 ...

  9. JavaScript(第一课):基本语法、数据类型介绍、严格检查模式

    一.基本语法入门 1.定义变量 <script>// 1.定义变量 变量类型 变量名 = 变量值var num=71;</script> 2.条件控制 <script&g ...

  10. JavaScript基础(第一部分 -- 简介、注释、输入输出、变量、数据类型、运算符、流程控制)

    前言 根据视频和PPT整理 JavaScript基础语法-dom-bom-js-es6新语法-jQuery-数据可视化echarts黑马pink老师前端入门基础视频教程 视频对应资源(在视频简介里面) ...

最新文章

  1. 100% .NET Control_使用CurrencyManager 创建一个导航条来控制DatagGrid的XNavBar控件(VB.NET)....
  2. python image模块安装_python之PIL库(Image模块)
  3. centos下部署启动elasticsearch错误集合与解决方案
  4. webservice 的datetime不能为null_用.net发布一个简单的webservice
  5. 杯子 + Kronican
  6. linux-组管理-添加组-删除组
  7. MATLAB转化彩色图片为灰度图片命令行窗口代码:
  8. 好家伙!京东数科申请“测谎器”专利
  9. DPDK单生产者入队单消费者出队
  10. Oauth协议是否会泄露用户的密码
  11. 升职加薪,必不可少!Python刷题打怪,你要的LeetCode答案都在这里了!
  12. Esp8266+ssd1306液晶屏+microPython
  13. 【大电流H桥电机驱动电路的设计与解析(包括自举电路的讲解,以IR2104+LR7843为例)】
  14. 上海大华条码称代码_大华条码秤设置方法
  15. 【HTML】HTML自定义网页头部小图标
  16. 谓词公式与量词的辖域
  17. AhMyth远程控制手机实验
  18. k8s ingress and egress
  19. ios 高德获取定位_概述-iOS 定位SDK | 高德地图API
  20. 面试PHP的尴尬经历以及今后的职业规划

热门文章

  1. LD文本相似度算法的在实际业务中的使用
  2. JAVA毕业设计共享充电宝管理系统计算机源码+lw文档+系统+调试部署+数据库
  3. sp_helpfile
  4. 运算放大器---转换速率(slew rate)
  5. 学习CentOS6这一篇就够了
  6. [INFO1110课件讲解 一] USYD悉尼大学INFO1110 ED lessons Week1 课件 作业 assignment讲解
  7. 所有失去的都会以另一种方式归来
  8. 洛谷 P1192 台阶问题
  9. 如何提升Excel水平?5个Excel常用技巧,学会不加班
  10. Java基础系列(五)——Collection集合Map源码详解