27 JavaScript的引入&注释&弹窗&变量常量&数据类型及转换&内存&垃圾回收
JS的引入:
1 内部引入
- 绑定元素事件如onclick=""
- 绑定锚点如href="JavaScript:void(0)"
- script标签引入,注意:如果标签放在head里面,不能操作放在body里面的scrip标签的内容
2 外部引入
sript标签src属性引入,优先级比css高,位置一般在body内或者head到body之间,如果放置于body与html之间,或者html之外,会被自动修复置于body之内
JS注释:
- 单行://
- 多行: /**/
- html注释:单行多行都是<!-- -->
- css注释:单行多行都是/**/
JS弹窗:
- alert:弹出框,无返回值
- confirm:确认框,返回true/false
- prompt:请输入你的年龄,有2个参数1个返回值,1参是问题,2参默认结果,点击确认会返回输入结果
弹窗弹出时,代码会暂停执行直到弹窗关闭
JS变量:
- 1 小写字母开始,每个单词的首字母大写
- 2 变量不能用关键词和保留字
- 3 变量尽量不要定义window属性名,ES5中全局变量都被设置在window的属性中(可能会数字变字符),起名时先看下是否window对象的属性名称一致
- 4 临时变量或者参数使用下划线开始 var _time=20;
变量的连等赋值: var a = b = 20; 先给a赋值,再给b赋值
JS常量:
一般用大写和下划线_连接,使用const关键字定义
常量定义后的对象不能被清除,常量对象可以被修改属性,但常量对象和常量基本数据类型不能被赋值,因此常量不能用null清除引用
<script>
const value = 1;
const obj = { x : 1};
// value = 2;//报错:Assignment to constant variable.
obj.x = 2;
console.log(obj);//{x:2}
obj = 2;////报错:Assignment to constant variable.
</script>
JavaScript共有7种数据类型:
- number
- string
- boolean
- null
- undefined
- object
- Symbol
分类:
基本数据类型:
undefined、null、number、string、boolean是原生JS5种基本数据类型,Symbol是ES6之后加入的基本数据类型
复杂数据类型:
object是复杂数据类型
数据类型的存储:
前5种存在栈中,栈中变量名存储的是值,object存在堆中(对象数值类型也存储在堆中),栈中变量名存储的是堆中的地址
obj1 = obj;
obj1拿到的是obj的地址,不是地址中的内容,相当于拿到的是一把钥匙,而不是箱子.假设这个地址是#aaaaaa,那么开启这把箱子的钥匙就有两把,分别是obj和obj1,任何一把都能改变箱子里的内容,箱子里的内容一旦改变,那么任何一把钥匙在此后打开箱子后看到的都是改变后的值
此时obj对象的属性改变,obj1这把钥匙所能打开的箱子中的内容也改变,打开箱子之后看到的是改变之后的内容。
综上:
不论是对象还是前5原始数据类型,它们的变量名都存储在栈中
前5种基本数据类型的变量名在栈中存储的是值,但是它们的方法是通过相应的对象数据类型调用的,所以存取是栈调用,调用方法是堆调用,即对象调用
对象存储在堆中,栈中存储的对象变量名存储的是堆中的地址,堆中的属性改变,但是地址并不改变
数据类型
var obj = {x:1};
var obj2 = obj;
obj2.x = 3;
console.log(obj2 == obj);//true
console.log(obj2 === obj);//true
obj = {x:1};//{x:1}是个新对象,与上个对象引用地址不等
console.log(obj2 == obj);//false
console.log(obj2 === obj);//false
JS内存管理
JS内存泄漏:
JS垃圾回收
数据类型的转换:
27 JavaScript的引入&注释&弹窗&变量常量&数据类型及转换&内存&垃圾回收的更多相关文章
- 编程语言类别;运行Python程序的方式;变量和常量;Python程序的垃圾回收机制;
目录 编程语言分类 运行Python程序的两种方式 1.交互式 变量与常量 1.变量 2.常量 3.小整数池 垃圾回收机制 编程语言分类 编程语言分为: 1.机器语言:直接用二进制的0和1和计算机(C ...
- .net学习之类与对象、new关键字、构造函数、常量和只读变量、枚举、结构、垃圾回收、静态成员、静态类等
1.类与对象的关系类是对一类事务的统称,是抽象的,不能拿来直接使用,比如汽车,没有具体指哪一辆汽车对象是一个具体存在的,看的见,摸得着的,可以拿来直接使用,比如我家的那辆刚刚买的新汽车,就是具体的对象 ...
- (4)C#变量,常量,数据类型,转义字符,数据类型转换
一.变量 程序运行期间能够被改变的量称为变量. 变量名称要用小写字母开头,避免用下划线开头. 如果包含多个单词,从第二个单词开始首字母都要大写. 定义并初始化 double pi = 3.14 二.常 ...
- 变量、数据类型、python内存管理
pycharm快捷键 ctrl + c 复制, 默认复制整行 ctrl + v 粘贴 ctrl + x 剪切 ctrl + a 全选 ctrl + z 撤销 ctrl + f 查找 ctrl + sh ...
- 编程语言和python介绍, 变量,小整数池,垃圾回收机制
1.编程语言的发展史 计算机是基于电工作(基于高.低电平)1010010101011 1.机器语言 优点:执行速度够快 缺点:开发效率非常低 2.汇编语言(通过英文字符组成) 优点:执行效率相较于机器 ...
- python---01.各类计算机语言,python历史,变量,常量,数据类型,if条件
一.认识计算机 1.硬件组成: CPU(大脑) + 内存(缓冲) + 主板(连接各部分) + 电源(心脏) + 显示器 + 键盘 +鼠标+ 显卡 + 硬盘 2.操作系统 ①windows ...
- 【七天搞定Python】day01.Python环境配置、pip、IDE、注释、变量,数据类型、标识符/关键字、输出、输入
什么是Python? 动态解释型语言,1982年由荷兰人Guido von Rossum发明. 更多细节可以google,这里不做展开. Python解释器: CPython(官方版本C语言实现) I ...
- Java - 变量常量数据类型
标识符命名规范 可以有字母数字下划线和美元符组成, hello abc 不能以数字开头 123abc 严格区分大小写 void Void 不能是java的关键字和保留字 class 标识符必须是见名知 ...
- Dart学习笔记-变量常量数据类型
变量和常量 1.变量的定义 main() { var t_str = 'hello world'; var t_num = 123456; String t_str2 = '你好,我很高兴'; int ...
随机推荐
- [MC] 我的世界 craftbukkit-1.12.2 卡爆
昨天晚上的时候,和朋友玩我的世界 结果我这边卡爆了,牛圈里面的牛都是一动一动的... 然后我登陆服务器,发现CPU爆炸了... 100%的使用率 mstsc都卡爆了 内存占用了800多MB (服务器是 ...
- [C#] 委托与匿名方法
using System; namespace 匿名函数 { class Program { delegate void TestDelegate(string s); static void M(s ...
- vue中style下scope的使用和坑
在vue组件中,为了使样式私有化(模块化),不对全局造成污染,可以在style标签上添加scoped属性以表示它的只属于当下的模块,这是一个非常好的举措,但是为什么要慎用呢?因为在我们需要修改公共组件 ...
- ansible playbook详解
ansible playbook是由yml语法书写,结构清晰,可读性强,所以必须掌握yml基础语法 语法 描述 缩进 YAML使用固定的缩进风格表示层级结构,每个缩进由两个空格组成,不能使用tabs键 ...
- Js选择器总结
一.原生JS选择器 JS选择器常用的有getElementById().getElementsByName().getElementsByTagName().getElementsByClassNam ...
- 浅谈ABB机器人(工具坐标,工件坐标,有效载荷)
工具坐标(tool): 使tcl坐标偏移到工具上,例如焊接工作,使机器人工作点切入焊枪点上 mass:工具的重量 xyz:偏移距离的大小 验证:通过手动模式,切换至自定义工具,重定向 工件坐标(wob ...
- Linux上后台运行node和springboot服务
环境:Ubuntu18.04 阿里云云服务器 尝试全局安装forever和pm2均失败,最后以linux自带的nohub启动,以前同样用nohub启动springboot 命令: nohup npm ...
- pyppeteer硬钢掉淘宝登入的滑块验证
完整代码我也不好公布,我可以给你们思路,以及部分代码动动脑子看看文档应该也能搞定 一.初始化Chromium浏览器相关属性 browser = await pyppeteer.launch({'hea ...
- hadoop fs -put could only be replicated to 0 nodes, instead of 1 解决方法
我的坏境是在虚拟机linux操作系统中,启动start-all.sh后 1.执行jps,如下 2.执行hadoop fs -mkdir input 创建成功 执行hadoop fs -ls 可以看到i ...
- 【PAT甲级】1102 Invert a Binary Tree (25 分)(层次遍历和中序遍历)
题意: 输入一个正整数N(<=10),接着输入0~N-1每个结点的左右儿子结点,输出这颗二叉树的反转的层次遍历和中序遍历. AAAAAccepted code: #define HAVE_STR ...