Javascript细节、经验锦集

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/135311084

出自【进步*于辰的博客
纯文字阐述,内容比较干。并且,由于考虑到时间长了恐有所遗漏,便即兴记录,并没有对内容进行筛选、排序。因此,大家在阅读时可以直接Ctrl + F进行检索。

文章目录

1、细节锦集

  1. ==表示"相等",不考虑数据类型,如:1 == '1'为 true;而===表示"全等",如:1 === '1'为 false;
  2. js中使用驼峰命名的原因:会将短横线(-)视为负号,故无连接作用;
  3. js 中的function中能被访问的有:参数、局部变量、嵌套function、全局变量、外部function的变量或其嵌套function
  4. 原始数据类型:String、number、boolean、null、undefined、symbol。前5种是基本数据类型,symbol表示唯一的值;
  5. Java数组长度不可变,而js中Array会自动扩展,即不存在溢出。定义var arr = new Array(3),此时arr长度为 3;执行arr[8] = xx,则arr长度变为 9。输出arr[5]undefined(声明但为定义);
  6. js中return后可以有语句(同级别),只是不会执行(即不进行解释,即便代码有误也不报错);
  7. $("xx").children()用于获取xx盒子的所有子盒子(js格式是xx.childNodes),$("xx").parentNode()用于获取父盒子;

2、关于 false

参考笔记一,P10.3;笔记二,P46.2。

  1. 0、false、undefined、null、""''、NaN 的 boolean 值都是 false,即0;其他为 true;
  2. [][null][undefined]都会隐式转换成'',且无论[]嵌套几层,都视为一层。与0比较,都为 true,因为''0的 boolean 值都是 false;

3、关于 null 与 undefined

参考笔记一,P10.9;笔记二,P43.1。

定义:

  1. undefined:全局变量、属性;
  2. null:字面量,不会被隐式赋值给对象,表示尚未创建的对象。

区别:

  1. undefined 派生于 null,都表示"无效的值",故相等。但属于不同的原始数据类型,故不全等;
  2. null 与 number 作算术运算,会将 null 视为0;而 undefined 与 number 作算术运算,得NaN
  3. typeof null为 Object,typeof undefined为 undefined。

注意:

  1. 若变量已声明而未定义,则为 undefined。故若想变量为 null,必须定义为 null;
  2. function()无返回值时,强行调用获取返回值,得 undefined。

一个小技巧: \color{orange}{一个小技巧:} 一个小技巧:

定义变量为 null,表示"空对象引用"。当需要将一个变量xx作为对象时,可如下:

html 复制代码
var xx = null;// 初始化
......
xx = new Object;// 创建对象
......
if(xx == null)
......
xx = null;// 清除对象

通过比较变量xx是否为null来判断对象是否创建成功。

3、特殊指令

  1. typeof a:返回变量类型。同type(a)
  2. delete obj.name:删除对象objname属性;

4、特殊语句

摘要 参数说明 返回值类型/返回值 说明
with() 任何对变量或函数的引用都被认为是此对象的属性

4.1 with()

示例。

js 复制代码
document.write(Math.sin())
// 等价于:
with(Math) {
	document.write(sin())
}

5、关于获取下拉框属性

参考笔记一,P12.1。

示例。

html 复制代码
<select name="platform">
	<option value="p1">CSDN</option>
	<option value="p2">bilibili</option>
</select>

获取。

js 复制代码
var sel = $("select[name=platform]")
var seli = sel.attr('selectedIndex')// 选中项的索引
var options = sel.attr('options')// 所有option的数组

最后

如果大家想要了解一些JS知识点,可查阅博文《Javascript知识点锦集》。

本文持续更新中。。。