[javascript]细节与使用经验
【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://www.cnblogs.com/cnb-yuchen/p/18031957
出自【进步*于辰的博客】
纯文字阐述,内容比较干。并且,由于考虑到时间长了恐有所遗漏,便即兴记录,并没有对内容进行筛选、排序。因此,大家在阅读时可以直接Ctrl + F进行检索。
1、细节锦集
==表示“相等”,不考虑数据类型,如:1 == '1'为 true;而===表示“全等”,如:1 === '1'为 false;- js中使用驼峰命名的原因:会将短横线(
-)视为负号,故无连接作用; - js 中的
function中能被访问的有:参数、局部变量、嵌套function、全局变量、外部function的变量或其嵌套function; - 原始数据类型:String、number、boolean、null、undefined、symbol。前5种是基本数据类型,
symbol表示唯一的值; - Java数组长度不可变,而js中
Array会自动扩展,即不存在溢出。定义var arr = new Array(3),此时arr长度为 3;执行arr[8] = xx,则arr长度变为 9。输出arr[5]为undefined(声明但为定义); - js中
return后可以有语句(同级别),只是不会执行(即不进行解释,即便代码有误也不报错); $("xx").children()用于获取xx盒子的所有子盒子(js格式是xx.childNodes),$("xx").parentNode()用于获取父盒子;
2、关于 false
参考笔记一,P10.3;笔记二,P46.2。
- 0、false、undefined、null、
""、''、NaN 的 boolean 值都是 false,即0;其他为 true; []、[null]、[undefined]都会隐式转换成'',且无论[]嵌套几层,都视为一层。与0比较,都为 true,因为''和0的 boolean 值都是 false;
3、关于 null 与 undefined
参考笔记一,P10.9;笔记二,P43.1。
定义:
undefined:全局变量、属性;null:字面量,不会被隐式赋值给对象,表示尚未创建的对象。
区别:
- undefined 派生于 null,都表示“无效的值”,故相等。但属于不同的原始数据类型,故不全等;
- null 与 number 作算术运算,会将 null 视为
0;而 undefined 与 number 作算术运算,得NaN; typeof null为 Object,typeof undefined为 undefined。
注意:
- 若变量已声明而未定义,则为 undefined。故若想变量为 null,必须定义为 null;
- 当
function()无返回值时,强行调用获取返回值,得 undefined。
一个小技巧:
定义变量为 null,表示“空对象引用”。当需要将一个变量xx作为对象时,可如下:
var xx = null;// 初始化
......
xx = new Object;// 创建对象
......
if(xx == null)
......
xx = null;// 清除对象
通过比较变量xx是否为null来判断对象是否创建成功。
3、特殊指令
typeof a:返回变量类型。同type(a);delete obj.name:删除对象obj的name属性;
4、特殊语句
| 摘要 | 参数说明 | 返回值类型/返回值 | 说明 |
|---|---|---|---|
with() |
任何对变量或函数的引用都被认为是此对象的属性 |
4.1 with()
示例。
document.write(Math.sin())
// 等价于:
with(Math) {
document.write(sin())
}
5、关于获取下拉框属性
参考笔记一,P12.1。
示例。
<select name="platform">
<option value="p1">CSDN</option>
<option value="p2">bilibili</option>
</select>
获取。
var sel = $("select[name=platform]")
var seli = sel.attr('selectedIndex')// 选中项的索引
var options = sel.attr('options')// 所有option的数组
最后
如果大家想要了解一些JS知识点,可查阅博文《Javascript知识点锦集》。
本文持续更新中。。。
https://www.cnblogs.com/cnb-yuchen
[javascript]细节与使用经验的更多相关文章
- Html,Css,Dom,javascript细节总结
最近愈发觉得基础的重要性,细节决定成败,所以希望能够将自己注意到的搜集到的一些关于前端的小细节小知识整理出来,更好的方便自己记忆回顾. 1.在构建网页Html框架时,尽量只给外层标记(即是父标记)定义 ...
- 开篇----JavaScript细节的那些事儿
JavaScript现在已经是全世界浏览器通用的语言,目前也完全可以在服务器端做开发,如Node.js,市面上好的JavaScript的书有很多,有的还是经典之作,值得收藏. 趁此东风,打算接下来写一 ...
- 我所了解的javaScript细节
变量转换 var myVar = "3.14159", str = ""+ myVar,// to string int = ~~myVar, // to in ...
- JavaScript细节整理
JavaScript是一个绝冠全球的编程语言,可用于Web开发.移动应用开发(PhoneGap.Appcelerator).服务器端开发(Node.js和Wakanda)等等.JavaScript还是 ...
- JavaScript细节成败
1.var 众所周知var用来定义变量 如 undefined,number,string,bool,array,function,object,null. 但有时候为了省事,就会出现一些内存泄露的情 ...
- Javascript 细节优化技巧(转)
break 语句和 continue 语句 break语句和continue语句都具有跳转作用,可以让代码不按既有的顺序执行. break语句用于跳出代码块或循环. var i = 0; while( ...
- JavaScript 原型 prototype 使用经验
初始化一个父类,并添加方法 1function Foo(){}2Foo.prototype.sayName = function(){3 return '初始原型';4}56var foo1 = ...
- JavaScript细节
1.关于全局变量 全局变量在所有的作用域中都是可见变量.当程序小,代码量小的时候,可能还便于维护,而随着程序越来越复杂,代码量也随之越来越大后,过多的全局变量会变的很难处理.因为一个全局变量可以被程序 ...
- 从零开始学习jQuery(剧场版) 你必须知道的javascript
原文:从零开始学习jQuery(剧场版) 你必须知道的javascript 一.摘要 本文是jQuery系列教程的剧场版, 即和jQuery这条主线无关, 主要介绍大家平时会忽略的一些javascri ...
- Vue vs React: Javascript 框架之战
https://baijiahao.baidu.com/s?id=1608210396818353443&wfr=spider&for=pc 原文档 正如我们之前提到的,Word ...
随机推荐
- NC52867 Highway
题目链接 题目 题目描述 In ICPCCamp there were n towns conveniently numbered with \(1, 2, \dots, n\) connected ...
- Java核心技术卷1:基础知识(原书第10版)
本书为专业程序员解决实际问题而写,Java基础知识面覆盖很完整,可以帮助你深入了解Java语言和库.在卷I中,Horstmann主要强调基本语言概念和现代用户界面编程基础,深入介绍了从Java面向对象 ...
- Windows也能拥有好用的命令行吗?Powershell+Terminal折腾记录(v1.0版本)
PS:本文写于2021年,现在已经是2024年,有了很多新变化,我在接下来的文章里会继续更新. 前言 Windows一向以图形化操作入门容易著称,所以对于命令行的支持一直为人所诟病,比起Linux或者 ...
- Java设计模式-迭代器模式Iterator
介绍 根据GoF的定义,迭代器模式提供了一种顺序访问聚合对象的元素而不暴露其底层表示的方法.这是一种行为设计模式. 顾名思义,迭代器有助于以定义的方式遍历对象集合,这对客户端应用程序很有用.在迭代期间 ...
- ~Keven_He的黑历史~
"先生,我认为文言文比白话文更加简洁" "请举例" "就好像沉鱼落雁这句成语不是比白话文更加简洁吗" "沉鱼落雁是四个字,该用白话 ...
- c2工具sliver的python客户端无法修改grpc超时时间的解决办法
业务需要,调用了很多implants来执行对应系统上的命令, 但是无论怎么指定interactive.py中execute方法参数, 命令执行超时时间总是30. 后面通过扩展execute方法增加一个 ...
- win32--GetFileAttributes
DWORD d = GetFileAttributes(path.c_str()); 根据返回的十进制,对比文件属性,来检索指定文件或目录的文件系统属性. 也可以使用 if ((d & FIL ...
- Eharts立体柱状图
一下这三个div大小不一样 为了保证每次柱状图渲染正确 添加key <div class="echart1" id="dangerChart1" key= ...
- JavaScript的引入并执行-包含动态引入与静态引入
JavaScript的引入并执行-包含动态引入与静态引入 JavaScript引入方式 html文件需要引入JavaScript代码,才能在页面里使用JavaScript代码. 静态引入 行内式 直接 ...
- Ubuntu下docker部署
使用docker进行容器化集成部署 远程服务器更新源 更新ubuntu的apt源 sudo apt-get update 安装包允许apt通过HTTPS使用仓库 sudo dpkg --configu ...