JavaScript基础重点(必看)


Posted in Javascript onJuly 09, 2016

接触JavaScript这门语言也就很长的时间了,但从来没有系统的去了解这么语言。趁现在刚刚毕业以及某些原因无心工作的情况下去系统的了解一下这么语言,也想通过这么语言养成写博客的习惯,因为我认为这是一件对程序员来说很神圣又很光荣的事情。

1.1背景

相信很多初学者都遗忘或混淆的就是JavaScript的官方命名:ECMAScript。2015年6月17日,ECMAScript 6发布正式版本,即ECMAScript 2015。

1.2语法

常规语法省略

重点强调:

1.原始值和对象:原始值包括布尔值、数字、字符串、null、和undefined。其他的值都是对象。两者之间最主要的区别在于它们的比较方式:每个对象都有唯一的标识且只等于自己。

var obj1={};
var obj2={};
alert(obj1 === obj2);

//false

alert(obj1===obj1);

//true

var prim1=123;
var prim2=123;
alert(prim1===prim2);

//true

2.使用typeof和instanceof对值分类。

typeof

操作数 结  果
undefined 'undefined'
null object
布尔值 boolean
数字 number
字符串  string
函数 function
所有其他的常规值 object
引擎创建的值 JS引擎可以被允许创建一些值,且typeof的结果可以返回任意字符串
   

3.布尔值:

假值:undefined,null,false,-0,NaN,''

二元逻辑运算符:JavaScript中的二元逻辑运算符是短路的。如果第一个运算数就是足以确定结果的话,则不会对第二个运算数做评估。与(&&):如果第一个运算数是假值,返回它。或(||):如果第一个运算数是真值,返回它。

 4.IIFE:

引入新的作用域。作用:去除闭包(函数以及它所连接的周围作用域中的变量)造成的无意共享。

例:

var result=[];
for(var i=0;i<5;i++)
{
result.push(function(){return i;});//(1)
}
console.log(result[1]()); //5  (not 1)
console.log(result[3]()); //5  (not 3)

标记为(1)的这行返回值总是i的当前值,而并非函数被创建时的值。在循环结束之后,i的值为5,所以数组中所有的函数都返回这个数值。如果想要标记(1)这行的函数获得当前i值的一个快照,就可以使用IIFE.

for(var i=0;i<5;i++)
{
 (function (){
  var i2=i; 
  result.push(function(){return i2});     
 }()
) ; 
}

此上都是在整理过程中以前未注意或没有了解到的部分知识,写在此处做知识点的补充之用。

以上这篇JavaScript基础重点(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript document.images实例
May 27 Javascript
javascript globalStorage类代码
Jun 04 Javascript
JavaScript 操作键盘的Enter事件(键盘任何事件),兼容多浏览器
Oct 11 Javascript
js判断IE6/IE7/FF的代码[XMLHttpRequest]
Feb 16 Javascript
JavaScript常用对象的方法和属性小结
Jan 24 Javascript
使用原生js写的一个简单slider
Apr 29 Javascript
node.js学习之交互式解释器REPL详解
Dec 08 Javascript
angular.fromJson与toJson方法用法示例
May 17 Javascript
JavaScript实现鼠标滚轮控制页面图片切换功能示例
Oct 14 Javascript
浅谈VUE监听窗口变化事件的问题
Feb 24 Javascript
解决layui数据表格排序图标被超出的表头挤出去的问题
Sep 19 Javascript
微信小程序 行的删除和增加操作实现详解
Sep 29 Javascript
jQuery获取同级元素的简单代码
Jul 09 #Javascript
JS添加删除DIV的简单实例
Jul 08 #Javascript
js操作DOM--添加、删除节点的简单实例
Jul 08 #Javascript
简单封装js的dom查询实例代码
Jul 08 #Javascript
JS选取DOM元素的简单方法
Jul 08 #Javascript
封装获取dom元素的简单实例
Jul 08 #Javascript
jquery.serialize() 函数语法及简单实例
Jul 08 #Javascript
You might like
PHPCMS的使用小结
2010/09/20 PHP
php缩放gif和png图透明背景变成黑色的解决方法
2014/10/14 PHP
php实现微信公众平台账号自定义菜单类
2015/10/11 PHP
PHP开发中AJAX技术的简单应用
2015/12/11 PHP
THINKPHP5.1 Config的配置与获取详解
2020/06/08 PHP
jquery.validate使用攻略 第五步 正则验证
2010/07/01 Javascript
文本框文本自动补全效果示例分享
2014/01/19 Javascript
jQuery对下拉框,单选框,多选框的操作
2014/02/21 Javascript
javascript中的括号()用法小结
2014/04/14 Javascript
javascript使用window.open提示“已经计划系统关机”的原因
2014/08/15 Javascript
Jquery实现弹性滑块滑动选择数值插件
2015/08/08 Javascript
KnockoutJs快速入门教程
2016/05/16 Javascript
JS不用正则验证输入的字符串是否为空(包含空格)的实现代码
2016/06/14 Javascript
正则表达式,替换所有HTML标签的简单实例
2016/11/28 Javascript
JavaScript实现图片懒加载(Lazyload)
2016/11/28 Javascript
基于jQuery实现的打字机效果
2017/01/16 Javascript
JavaScript 函数的定义-调用、注意事项
2017/04/16 Javascript
vue下拉列表功能实例代码
2018/04/08 Javascript
uniapp与webview之间的相互传值的实现
2020/06/29 Javascript
[55:45]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第一局
2016/02/28 DOTA
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
python动态网页批量爬取
2016/02/14 Python
Python有序查找算法之二分法实例分析
2017/12/11 Python
Python线程创建和终止实例代码
2018/01/20 Python
tensorflow实现简单的卷积神经网络
2018/05/24 Python
python selenium自动上传有赞单号的操作方法
2018/07/05 Python
Python安装selenium包详细过程
2019/07/23 Python
解决python中导入win32com.client出错的问题
2019/07/26 Python
Python使用import导入本地脚本及导入模块的技巧总结
2019/08/07 Python
使用 Supervisor 监控 Python3 进程方式
2019/12/05 Python
Javascript 高级手势使用介绍
2013/04/21 HTML / CSS
小学开学标语
2014/07/01 职场文书
装配出错检讨书
2014/09/23 职场文书
医院病假条怎么写
2015/08/17 职场文书
Python实现天气查询软件
2021/06/07 Python
python 爬取哔哩哔哩up主信息和投稿视频
2021/06/07 Python