王海宇53638332 发表于 2021-8-9 14:50

javascript部分(一)

本帖最后由 王海宇53638332 于 2021-8-9 15:19 编辑

javascript和java之间的关系:
      没有半毛钱关系,当前制定JavaScript标准的时候,有SUN公司的参与,最终决定用JavaScript为名
什么叫脚本语言?
      它不能独立存在,它必须放在网页当中才能执行。
JavaScript是解视执行语言:
      不需要解释,不会产生额外的编译文件,文件后缀叫.js
编写方式:
      <div></div>---------行内
      <script>xxxxxxxxxxxxxx</script>-------内部
      <script src="xxx.js"></script>------外部文件
常量:
      定义:是一个用来存储数据的容器-------let a=1;
      如何变量的值不可修改,那它就叫做常量-----const a = 10;
数据类型:
      number:数据类型
      string:字符串类型
      boolean:布尔类型-------true(真)/false(假)
      object:对象类型
      function:函数类型
      undefind:没有被定义的
      数据类型转换:
                自动转换:减法/乘法/除法/关系运算
                手动转换:
                        parseInt---------转换为整数
                        parseFloat------转换为浮点数
变量运算:
      数学运算:+-*/
      关系运算(自动类型转换):运算的结果,一定是布尔类型
                        ===(不做类型转换)
                        !==(不做类型准换)
      赋值运算
      逻辑运算:逻辑运算的结果,一定是布尔类型
                与(and &&)/或(or ||)/非(not !)
转义字符:
      \t--------tab键
      \n-------换行
      \r--------回车
      \\--------反斜杠
      \'--------单引号
      \"--------双引号
document.write:
      可以向页面的body标签当中输入任何内容,它会将原有页面中的内容覆盖,谨慎使用
console.log()调用打印语句----浏览器控制面板F12打开:
                        Elements-------查看元素
                        Console--------控制台
                        Sources--------资源文件
                        Network-------查看网络请求
分支语句:
      语句形式:
                if(判断条件){
                        条件成立时候执行
                }else{
                        条件不成立时候执行代码
                }


                if(条件A){
                        条件A成立时候执行代码
                }else if{
                        条件A不成立,并且条件B成立时候执行
                }
      判断条件的写法有什么要求?
                无论你写什么判断条件,最终条件都会转化为布尔类型
                一个空字符串(false)/一个非空的字符串(true)/数字0(false)/非0数字(true)/undefined(false)
      switch-case:判断条件匹配任何一个case都会触发开关,一般情况下,需要再每个case语句后面增加break
                代码部分:let score = 89;
                         let s = parseInt("3.14")
                         //当匹配到任何一个case时,switch开关打开,依次执行后面所有的case语句
                         //break语句可以打断switch执行
               switch(s){
                         case 10 :console.log("A");break;
                         case 9 :console.log("A");break;
                         case 8 :console.log("B");break;
                         case 7 :console.log("C");break;
                         case 6 :console.log("D");break;
                         default:console.log("挂了");
      
               }
关键字:(不全后续会补充)
      let---------------------定义变量
      const-----------------定义常量
      typeof----------------查看一个变量的数据类型
      if-else----------------如果,否则。用来做逻辑判断
      switch----------------判断函数开始标志
      case------------------表示当什么原因下执行
      defualt----------------便是所有case都不符合时候执行
      break----------------打断程序的执行






今天开始更新JavaScript部分,想看前面HTML的可以点击下面链接



学习html总结(一)
学习html总结(二)
学习html总结(三)
学习html总结(四)

libook7 发表于 2021-8-10 18:09

本帖最后由 libook7 于 2021-8-10 18:12 编辑

javascript和java之间的关系:
这个我记得有个比喻比较贴切,说“就像雷峰塔与雷锋的关系”。一开始好像不叫这个名字,当时好像是Java爆火的时候,据说为了蹭Java的热度,取名为JavaScript。

什么叫脚本语言?
能不能独立存在可能不是很合适用来区分是不是脚本语言,脚本语言可以理解为源代码即程序,开发者无需进行编译工作。通常脚本语言也是解释型语言(相对于编译型语言来说)。

JavaScript是解释型语言:
最初区分编译型语言和解释型语言的关键因素,就是看是否需要将源代码编译成二进制可执行文件,需要的话就是编译型,不需要的话就是解释型。实际上解释器也是把代码翻译成机器码来让计算机执行的,只不过这个操作发生在解释器解释过程之中,不会产生任何二进制可执行文件。
如今出现了一些更为复杂的运行原理,比如虚拟机(或叫做引擎)原理,与传统解释器的区别在于解释器就像是同声传译,直接将代码翻译为对应的机器码执行;而虚拟机会将代码翻译成自己特有的机器码,并对这个机器码动态优化,再实际操作计算机执行。后者的好处在于可以把程序优化得性能极高,比如谷歌公司的V8引擎,是谷歌浏览器里使用的JS引擎,可以将JS的执行性能优化到与编译型语言相当。

编写方式:
行内不知道楼主指的是不是onclick="aliert()"这种内嵌在HTML标签属性中的JS代码。这个论坛好像有过滤机制,会把一些疑似违规的信息过滤掉,你写的部分内容可能就被过滤掉了。

常量:
注意JS有基本类型(如数值)和复杂类型(如数组)之分,赋值操作的处理方式不一样:
const a=1; // 这里1是基本类型,a的值就是1.
cosnt b=; // 这里是复杂类型,会存在内存里的某个地址上,而b的值实际上是对内存上这个地址的引用,也就是说b的值实际上是内存地址号,根据这个地址号找到的位置才存储着这个数组。
const关键字只能固定值,不能固定值所引用的数据,所以:
const b=;
b=; // 会报错,因为尝试修改b的值。
但是:
const b=;
b=5; // 不会报错,因为b的值还是对于内存地址的引用,这个地址号是没变化的,只不过这个地址存储的数据被改成了。
如果希望固定复杂类型内部的数据,可以了解一下Object.freeze()

数据类型:
正如我上面所说,JS数据类型分为基本类型和复杂类型,基本类型有number、stirng、boolean、undefined、null,复杂类型就有很多了,可以参考 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects
不过你要清楚,number和Number不是一个东西,string和String、boolean和Boolean也都不是一个东西,前者是基本类型,后者是对象,如果你学过面向对象编程思想的话,前者相当于Object,后者相当于Class。
另外有两个有趣的课题可以研究一下:
1. null和undefined有什么区别,怎么用?
2. parseFloat()和Number()都可以用来将字符串转成数值,有什么区别?

是这样,JavaScript只是一门编程语言,本身是不包括document.write这种东西的,document.write是浏览器的一个API,人们希望使用JS来操作浏览器的各项功能,那么就要让浏览器的各个功能都有JS可以调用的API,这些API有很多大类,咱们最常用的是DOM,浏览器把显示的内容抽象成“文档”的概念,然后提供一系列API让开发者可以用JS来调用操作文档的内容,比如document.write就是在文档上写字。
DOM的文档可以参考 https://developer.mozilla.org/zh-CN/docs/Web/API/Document_Object_Model

惠民人家 发表于 2021-8-9 14:56

HETML?不是html的吗

终南明月 发表于 2021-8-9 14:59

惠民人家 发表于 2021-8-9 14:56
HETML?不是html的吗

应该是打错了

Pang_Boss 发表于 2021-8-9 15:10

王海宇53638332 发表于 2021-8-9 15:19

Pang_Boss 发表于 2021-8-9 15:10
帖子很不错,
不过文末的“想看前面HETML的可以点击下面链接”应改为“想看前面HTML的可以点击下面链接” ...

手残手残~见谅

791968232 发表于 2021-8-9 15:52

if(条件A){}else if(条件B){}

d199212 发表于 2021-8-10 08:05

加油吧,JS其实也不难

zizi88 发表于 2021-8-12 18:27

应该还有后继教程吧
不过基础的网上一大把

angula 发表于 2021-8-13 16:43

es6 es7 这些可以单独列,不用跟基础的混一块
页: [1]
查看完整版本: javascript部分(一)