吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1471|回复: 9
收起左侧

[讨论] javascript部分(一)

[复制链接]
王海宇53638332 发表于 2021-8-9 14:50
本帖最后由 王海宇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总结(四)

免费评分

参与人数 2热心值 +2 收起 理由
Smalmo + 1 用心讨论,共获提升!
zhhmok + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

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=[1,2,3]; // 这里[1,2,3]是复杂类型,会存在内存里的某个地址上,而b的值实际上是对内存上这个地址的引用,也就是说b的值实际上是内存地址号,根据这个地址号找到的位置才存储着[1,2,3]这个数组。
const关键字只能固定值,不能固定值所引用的数据,所以:
const b=[1,2,3];
b=[2,3,4]; // 会报错,因为尝试修改b的值。
但是:
const b=[1,2,3];
b[1]=5; // 不会报错,因为b的值还是对于内存地址的引用,这个地址号是没变化的,只不过这个地址存储的数据被改成了[1,5,3]。
如果希望固定复杂类型内部的数据,可以了解一下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

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
王海宇53638332 + 1 + 1 大神

查看全部评分

惠民人家 发表于 2021-8-9 14:56
终南明月 发表于 2021-8-9 14:59
头像被屏蔽
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 这些可以单独列,不用跟基础的混一块
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 23:19

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表