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 相关文章推荐
js获取元素到文档区域document的(横向、纵向)坐标的两种方法
May 17 Javascript
javascript阻止scroll事件多次执行的思路及实现
Nov 08 Javascript
js动态生成form 并用ajax方式提交的实现方法
Sep 09 Javascript
纯JavaScript 实现flappy bird小游戏实例代码
Sep 27 Javascript
jQuery Collapse1.1.0折叠插件简单使用
Aug 28 jQuery
vue-router路由与页面间导航实例解析
Nov 07 Javascript
vue根据值给予不同class的实例
Sep 29 Javascript
apicloud拉起小程序并传递参数的方法示例
Nov 21 Javascript
浅谈Vue页面级缓存解决方案feb-alive(上)
Apr 14 Javascript
这应该是最详细的响应式系统讲解了
Jul 22 Javascript
layui实现把数据表格时间戳转换为时间格式的例子
Sep 12 Javascript
Vue列表循环从指定下标开始的多种解决方案
Apr 08 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
PHP+MYSQL 出现乱码的解决方法
2008/08/08 PHP
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
php从字符串创建函数的方法
2015/03/16 PHP
PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】
2016/05/06 PHP
javascript 面向对象 function类
2010/05/13 Javascript
jQuery中对节点进行操作的相关介绍
2013/04/16 Javascript
Node.js模拟浏览器文件上传示例
2014/03/26 Javascript
本人自用的global.js库源码分享
2015/02/28 Javascript
JS或jQuery获取ASP.NET服务器控件ID的方法
2015/06/08 Javascript
javascript删除数组重复元素的方法汇总
2015/06/24 Javascript
比较常见的javascript中定义函数的区别
2015/11/09 Javascript
Bootstrap每天必学之按钮(一)
2015/11/24 Javascript
小白谈谈对JS原型链的理解
2016/05/03 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单
2016/11/25 Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
2017/05/02 Javascript
Validform验证时可以为空否则按照指定格式验证
2017/10/20 Javascript
js 原生判断内容区域是否滚动到底部的实例代码
2017/11/15 Javascript
在 Vue 项目中引入 tinymce 富文本编辑器的完整代码
2018/05/04 Javascript
关于vue的npm run dev和npm run build的区别介绍
2019/01/14 Javascript
谈谈JavaScript中super(props)的重要性
2019/02/12 Javascript
layui-table获得当前行的上/下一行数据的例子
2019/09/24 Javascript
Centos7 安装Node.js10以上版本的方法步骤
2019/10/15 Javascript
p5.js临摹动态图形的方法
2019/10/23 Javascript
JavaScript中的this基本问题实例小结
2020/03/09 Javascript
微信小程序canvas动态时钟
2020/10/22 Javascript
对Python 两大环境管理神器 pyenv 和 virtualenv详解
2018/12/31 Python
利用Python正则表达式过滤敏感词的方法
2019/01/21 Python
python 自动批量打开网页的示例
2019/02/21 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
Python 利用flask搭建一个共享服务器的步骤
2020/12/05 Python
python集合的新增元素方法整理
2020/12/07 Python
大学生自我鉴定
2013/12/08 职场文书
少先队学雷锋活动总结范文
2014/03/09 职场文书
团日活动总结书
2014/05/08 职场文书
生物工程专业求职信
2014/09/03 职场文书
2015年行风建设工作总结
2015/05/15 职场文书