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 相关文章推荐
escape、encodeURI、encodeURIComponent等方法的区别比较
Dec 27 Javascript
jquery打开直接跳到网页最下面、最低端实现代码
Apr 22 Javascript
DOM操作一些常用的属性汇总
Mar 13 Javascript
多个jQuery版本共存的处理方案
Mar 17 Javascript
jQuery的Each比JS原生for循环性能慢很多的原因
Jul 05 Javascript
gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)
Aug 24 Javascript
JS 动态判断PC和手机浏览器实现代码
Sep 21 Javascript
JS实现汉字与Unicode码相互转换的方法详解
Apr 28 Javascript
解决JS外部文件中文注释出现乱码问题
Jul 09 Javascript
Vue2 Vue-cli中使用Typescript的配置详解
Jul 24 Javascript
jQuery实现checkbox的简单操作
Nov 18 jQuery
angularjs下ng-repeat点击元素改变样式的实现方法
Sep 12 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
利用discuz自带通行证整合dedecms的方法以及文件下载
2007/03/06 PHP
php中CI操作多个数据库的代码
2012/07/05 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
2014/10/30 PHP
Laravel搭建后台登录系统步骤详解
2016/07/26 PHP
为jquery.ui.dialog 增加“在当前鼠标位置打开”的功能
2009/11/24 Javascript
更换select下拉菜单背景样式的实现代码
2011/12/20 Javascript
setInterval与clearInterval的使用示例代码
2014/01/28 Javascript
现代 JavaScript 开发编程风格Idiomatic.js指南中文版
2014/05/28 Javascript
textarea不能通过maxlength属性来限制字数的解决方法
2014/09/01 Javascript
javascript数据结构与算法之检索算法
2015/04/04 Javascript
Bootstrap每天必学之警告框插件
2016/04/26 Javascript
原生js封装的一些jquery方法(详解)
2016/09/20 Javascript
JQuery中解决重复动画的方法
2016/10/17 Javascript
jQuery实现遍历复选框的方法示例
2017/03/06 Javascript
浅谈通过JS拦截 pushState和replaceState事件
2017/07/21 Javascript
JS常用的几种数组遍历方式以及性能分析对比实例详解
2018/04/11 Javascript
React Hooks的深入理解与使用
2018/11/12 Javascript
微信小程序学习笔记之本地数据缓存功能详解
2019/03/29 Javascript
微信小程序自定义toast组件的方法详解【含动画】
2019/05/11 Javascript
了解JavaScript中let语句
2019/05/30 Javascript
d3.js实现图形缩放平移
2019/12/19 Javascript
详解Typescript里的This的使用方法
2021/01/08 Javascript
python用户管理系统的实例讲解
2017/12/23 Python
Python实现统计给定列表中指定数字出现次数的方法
2018/04/11 Python
python识别文字(基于tesseract)代码实例
2019/08/24 Python
Python面向对象之私有属性和私有方法应用案例分析
2019/12/31 Python
python Paramiko使用示例
2020/09/21 Python
比驿:全球酒店比价网
2018/06/20 全球购物
abstract是什么意思
2012/02/12 面试题
产品工艺师的岗位职责
2013/11/15 职场文书
超市重阳节活动方案
2014/02/10 职场文书
教师业务培训方案
2014/05/01 职场文书
学校关爱留守儿童活动方案
2014/08/27 职场文书
“四风”查摆问题自我剖析材料
2014/09/27 职场文书
公司人事管理制度
2015/08/05 职场文书
我的中国梦心得体会范文
2016/01/05 职场文书