位置: IT常识 - 正文

JavaScript详解(javascriptjs)

编辑:rootadmin
一、快速入门 1.JavaScript的两种引入方式 方式一:直接在html里面写 目的:实现简单的弹窗 点击查看代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <!--sc ... 一、快速入门1.JavaScript的两种引入方式

推荐整理分享JavaScript详解(javascriptjs),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript definitive guide,javascript+,javascript !,javascript的理解,javascriptjs,javascript的理解,javascriptj,javascriptj,内容如对您有帮助,希望把文章链接给更多的朋友!

方式一:直接在html里面写目的:实现简单的弹窗

点击查看代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <!--script标签内,写JavaScript代码,可以放在head标签里,也可以放在body标签里--> <script> <!--弹窗,打开页面时弹出一个窗口,并显示有hello,world--> alert('hello,world'); </script></head><body></body></html>

运行结果图方式二:新建一个js文件,在HTML中连接该文件也可以实现,就像css一样和HTML分开注意script标签必须是成对出现,

2.基本语法点击查看代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <!--Javascript严格区分大小写--> <script> //单行与多行注释与Java中注释的方式一样 /*1.定义变量 变量类型 变量名 = 变量值;*/ var score =100;//这里不写分号也没事 var name = "twq";//这里不写var也没事,就算不写变量名都可以,是不感觉可以随心所欲了 if(score>60 && score <70){ alert('小子,你很危险呀'); }else if(score > 70 && score < 80){ alert('革命尚未成功,同学 仍需努力呀!!'); }else{ alert('不要骄傲哦!'); } </script></head><body></body></html>

调试方法参照下图:

3.数据类型(1)number

js不区分小数和整数,Number

点击查看代码123//整数123123.1//浮点数123.11.123e3//科学计数法-99//负数NaN//not a numberInfinity//表示无限大

界面在浏览器上运行结果图

(2)字符串

和Java的一样

(3)布尔值

(4)逻辑运算

① && 两个都为真,结果为真② | | 一个为真,结果为真③ !真即假,假即真

(5)比较运算符

① = 赋值② == 等于(类型不一样,值一样,也会判断为true)③ === 绝对等于(类型一样,值一样结果为true)注意:这是Java的一个缺陷,坚决不要使用==比较须知:

NaN===NaN,这个与所有的数值都不相等,包括自己只能通过isNaN(NaN)来判断这个数据是否是NaN

(6)浮点数

尽量避免使用浮点数进行运算,存在精度问题!

(7)数组

java的数值必须是相同类型的对象,JS中需不要这样!如果数组下标越界会报undefined

(8)对象

对象是大括号,数组是中括号每个属性之间用逗号隔开,最后一个属性之后不需要逗号

点击查看代码<script> console.log((1/3)===(1-2/3)); console.log(Math.abs(1/3-(1-2/3))<0.00000001); //保证代码的可读性,尽量使用[] var arr=[1,2,3,4,5,'hello',null,true]; new Array(1,12,3,4,5,'hello'); var person ={ name:"Twq", age:23, tags:['js','java','web','...'] } </script>

运行结果图

4.严格检查模式点击查看代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script> /*前提是IDEA需要设置支持ES6语法 *'use strict'严格检查模式,预防Javascript的随意性导致产生的一些问题如: * ①定义变量不写变量类型在没有写严格检查时不会报错,但是加上这严格检查之后就会报错 * 必须要写在JS的第一行 * 局部变量建议都使用let去定义 */ 'use strict'; /*let是块作用域,就会好比在for循环里用let定义了一个块变量 在循环的外部则无法使用该变量,var是函数作用域,在循环里面定义的 变量在循环外面也可以可以访问*/ let i = 1; </script></head><body></body></html>二、详解数据类型1.字符串(1)正常字符串,我们使用单引号或者双引号包裹(2)注意转义字符

①\'②\n③\u4e2d unicode字符格式:\u####④\41Ascll字符

(3)多行字符串编写

(4)模板字符串点击查看代码<script> //tab 上面 esc下面 let name = "Twq"; var msg =`你好呀,${name}`//在Java中连接两个字符串用加号,二JS可以使用$符号连接 </script>

运行结果图

(5)字符串长度

(6)字符串内容的不可变性

(7)大小写转换

(8)查找

(9)substringJavaScript详解(javascriptjs)

2.数组(1)长度

Array可以包含任意的数据类型注意:假如给arr.length赋值,数组大小就会发生变化,如果赋值过小,元素就会丢失

(2)indexOf,通过元素获得下标索引

在数组里字符串的1和数字1是不同的

(3)slice()

截取Array的一部分,返回一个新数组,类似于String中的substring

(4)尾部压入和弹出push(),pop()

从尾部压入和弹出元素

(5)unshift(),shift()

unshift()压入到头部shift()弹出头部的第一个元素

(6)sort()

(7)元素反转

(8)concat()

注意:concat()并没有修改原来的数组的值,只是会返回一个新的数组

(9)连接符join

打印拼接数组,使用特定的字符串连接

(10)多维数组

3.对象(1).使用一个不存在的对象属性,不会报错!undefined

(2)动态的删减属性

(3)动态的添加属性

(4)判断属性值是否在这个对象中

(5)判断一个属性是否是这个对象自身拥有的hasOwnProperty()

4.Map和Set(1)Map点击查看代码 <script> var map = new Map([['tom',100],['jack',900],['haha',80]]) console.log(map.get('jack')) map.set('admin',90);//新增或修改 map.delete('tom');//删除 for(let x of map){ console.log(x) } </script>

运行结果图

(2)Set

无序不重复的集合

点击查看代码 <script> var set = new Set([1,1,1,3]); set.add(2);//添加一个元素 set.delete(3);//删除一个元素 for(let x of set){ console.log(x) } console.log(set.has(1))//集合中是否包含1 </script>

运行结果图

四、函数1.定义函数(1)定义方式一点击查看代码<script> function abs(x){ if(x >= 0){ return x; } else{ return -x; } }</script>

运行结果一旦执行到return代表函数结束,返回结果如果没有执行return,函数执行完也会返回结果,结果就是undefined

(2)方式二:点击查看代码var abs = function(x){ if(x >= 0){ return x; } else{ return -x; } }

①参数问题:JS函数调用时可以传任意个参数,也可以不传参数都不会报错,如果想要报错可以手动定义一个异常

点击查看代码<script> var abs = function(x){ if(typeof x !== 'number'){//如果参数x的类型不是一个数 //手动定义异常 throw 'Not a number'; } if(x >= 0){ return x; } else{ return -x; } }</script>

运行结果②假设参入的参数有多个可以使用arguments关键词arguments:代表传递进来的所有参数,是一个数组

点击查看代码<script> var abs = function(x){ if(typeof x !== 'number'){//如果参数x的类型不是一个数 //手动定义异常 throw 'Not a number'; } for(let i =0; i<arguments.length;i++){ console.log(arguments[i]) } // if(x >= 0){ // return x; // } // else{ // return -x; // } }</script>

运行结果图③使用reset获取当前除已定义的参数以外的所有参数

点击查看代码<script> var abs = function(a,b,c,...rest){ console.log("a->"+a); console.log("b->"+b); console.log("c->"+c); console.log(rest); }</script>

运行结果

2.变量的作用域(1)在JavaScript中,var定义变量实际是有作用域的

假设在函数体中

本文链接地址:https://www.jiuchutong.com/zhishi/303208.html 转载请保留说明!

上一篇:帝国cms怎么安装(帝国cms怎么安装不了)

下一篇:web(website)

  • 网易云一起听退了还能进吗(网易云一起听退出后再连接时间会继续吗)

    网易云一起听退了还能进吗(网易云一起听退出后再连接时间会继续吗)

  • 苹果11给微信加密码锁怎么操作(苹果11给微信加锁屏密码)

    苹果11给微信加密码锁怎么操作(苹果11给微信加锁屏密码)

  • 荣耀v30pro支持wifi6的吗(荣耀V30Pro支持快充吗)

    荣耀v30pro支持wifi6的吗(荣耀V30Pro支持快充吗)

  • 小米音量键调不了媒体音量怎么办(小米音量键失灵怎么办?)

    小米音量键调不了媒体音量怎么办(小米音量键失灵怎么办?)

  • 淘宝虚拟产品可以退款吗(淘宝虚拟产品可以用省钱卡吗)

    淘宝虚拟产品可以退款吗(淘宝虚拟产品可以用省钱卡吗)

  • 手机防偷窥钢化膜原理(手机防偷窥钢化膜会影响手机听筒吗)

    手机防偷窥钢化膜原理(手机防偷窥钢化膜会影响手机听筒吗)

  • 苹果手机共享相簿可以关闭吗(苹果手机共享相册别人能看到吗)

    苹果手机共享相簿可以关闭吗(苹果手机共享相册别人能看到吗)

  • 苹果手机充电80%不动了(苹果手机充电80%就不动了)

    苹果手机充电80%不动了(苹果手机充电80%就不动了)

  • 钉钉连麦有美颜吗(钉钉连麦有美颜吗怎么设置)

    钉钉连麦有美颜吗(钉钉连麦有美颜吗怎么设置)

  • 编码有哪些(信源编码有哪些)

    编码有哪些(信源编码有哪些)

  • 老是弹出华为移动服务(华为手机不断弹出)

    老是弹出华为移动服务(华为手机不断弹出)

  • 华为GT2什么时候出(华为GT2什么时候升级鸿蒙)

    华为GT2什么时候出(华为GT2什么时候升级鸿蒙)

  • wps艺术字怎么拉伸放大(wps艺术字拉伸字体)

    wps艺术字怎么拉伸放大(wps艺术字拉伸字体)

  • 手机四核和八核有什么区别(手机四核和八核速度能差多少)

    手机四核和八核有什么区别(手机四核和八核速度能差多少)

  • 小度在家1c为什么连不上wifi(小度在家1c为什么打不开了)

    小度在家1c为什么连不上wifi(小度在家1c为什么打不开了)

  • 多屏互动和无线投屏有什么区别(多屏互动和无线互动区别)

    多屏互动和无线投屏有什么区别(多屏互动和无线互动区别)

  • 季度vip是几个月(季度vip是几个月的)

    季度vip是几个月(季度vip是几个月的)

  • iqooneo骁龙855版和竞速版区别(iqooneo骁龙855版怎么样)

    iqooneo骁龙855版和竞速版区别(iqooneo骁龙855版怎么样)

  • 免费恢复qq火花天数(不花钱恢复qq火花)

    免费恢复qq火花天数(不花钱恢复qq火花)

  • word页面字符怎么设置(word文档页面设置字符数和行数)

    word页面字符怎么设置(word文档页面设置字符数和行数)

  • 抖音私信会不会显示已读(抖音私信会不会永久封禁)

    抖音私信会不会显示已读(抖音私信会不会永久封禁)

  • 手机怎么做动态壁纸(手机怎么做动态视频爱心)

    手机怎么做动态壁纸(手机怎么做动态视频爱心)

  • 抖音大长腿功能在哪(抖音长腿功能怎么没有了)

    抖音大长腿功能在哪(抖音长腿功能怎么没有了)

  • 收款码开通了怎么关闭(申请商家收款码开通完了)

    收款码开通了怎么关闭(申请商家收款码开通完了)

  • win10蓝色边框去除(windows有个蓝色框怎么关闭)

    win10蓝色边框去除(windows有个蓝色框怎么关闭)

  • 苹果手机可以给微信上锁吗(苹果手机可以给安卓手机开热点吗)

    苹果手机可以给微信上锁吗(苹果手机可以给安卓手机开热点吗)

  • 小米摄像头怎么连接手机(小米摄像头怎么插内存卡)

    小米摄像头怎么连接手机(小米摄像头怎么插内存卡)

  • 消费税和所得税的关系
  • 营业税加收滞纳金的规定
  • 什么叫销售劳务
  • 水果销售公司简介
  • 企业注销未抵扣完的进项税
  • 企业所得税可以税前扣除的税有哪些
  • 房地产企业可以贷款吗
  • 工资薪金总额包括年终奖吗
  • 定额发票不够用可以申请额度要交税吗
  • 增值税销项税如何进行处理,有哪些种情况
  • 购进材料无发票会计分录
  • 跨年的管理费用怎么调到主营业务成本里
  • 计提地税走哪个科目
  • 小型微利企业所得税优惠政策
  • 专项维修基金和契税有什么区别
  • 年末利润分配会计处理
  • 分担总部费用
  • 外籍人员在境内取得所得在我国应该计征个人所得税
  • 网速突然减慢
  • 投资资本回报率多少合适
  • 鸿蒙怎么添加
  • 浅谈12 条用于 Linux 的 MySQL/MariaDB 安全最佳实践
  • php7多线程
  • 员工的餐费补助怎么算
  • 如何更改自己
  • 存货的核算方法
  • 车间闲置固定资产怎么算
  • 编制合并财务报表时,下列各项中不属于子公司
  • 150m迷你型无线路由器怎么用
  • phpstudy安装配置
  • 记账凭证和收付账簿区别
  • 【手撕Transformer】Transformer输入输出细节以及代码实现(pytorch)
  • 报销单跨月怎么记账
  • 包工的人工费可以算工程款
  • 新会计准则增加了哪些科目
  • 小规模超500万升一般纳税人规定
  • 增值税发票作废后怎么处理
  • 帝国cms真的很好用
  • 公司租入厂房怎么做账
  • 中国移动发票抬头开错了可以重开吗
  • 行政事业单位工作时间
  • 企业常用会计科目表及其解释
  • 公共电话亭的话费怎么算
  • 在建工程转固定资产凭证附件
  • 加油站固定资产折旧方法
  • 计提待摊费用分录
  • 如何抵扣不动产增值税
  • 固定资产报废属于非流动资产处置损失吗
  • 建筑企业案例
  • 餐饮有普通发票吗
  • 买水果送礼
  • MySQL在Linux系统中隐藏命令行中的密码的方法
  • sql server中数据类型怎么用
  • mac中通过python关闭浏览器中的finder弹框
  • win10如何限制电脑上网权限
  • psdrvcheck.exe - psdrvcheck是什么进程 有什么用
  • 苹果Mac OS X通知中心提示音怎么修改 OS X通知中心提示音更换方法图解
  • linux开启关闭命令
  • linux中who命令
  • 在linux中使用v2ray
  • cocos2dx游戏有哪些
  • cocos2dx 3.3 + QT5.3制作游戏编辑器
  • 基于javascript的毕业设计
  • node.js常用命令
  • cocos2d教程
  • cocos 2.5d
  • 如何用vs默认打开unity脚本
  • opengl编程实例
  • 有关于月亮的诗句
  • jquery示例
  • ubuntu与centos命令区别
  • mod兼容性
  • jquery可编辑表格插件
  • rpg好玩地图
  • unity3d鼠标点击移动
  • jquery常用的事件绑定函数有哪些
  • 吉林省国家税务局官网
  • 杭州汽车摇号中签率多少
  • 国税手撕发票图片
  • 企业所得税地方留存比例2023
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设