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 void(0)的妙用
Oct 21 Javascript
JavaScript Array Flatten 与递归使用介绍
Oct 30 Javascript
纯JS焦点图特效实例(可一个页面多用)
Dec 07 Javascript
JS通过调用微信API实现微信支付功能的方法示例
Jun 29 Javascript
jQuery实现键盘回车搜索功能
Jul 25 jQuery
微信小程序实现下拉菜单切换效果
Mar 30 Javascript
js神秘的电报密码 哈弗曼编码实现
Sep 10 Javascript
JS数据类型STRING使用实例解析
Dec 18 Javascript
浅析TypeScript 命名空间
Mar 19 Javascript
VUE项目实现主题切换的多种方法
Nov 26 Vue.js
vue+elementui通用弹窗的实现(新增+编辑)
Jan 07 Vue.js
原生JS实现飞机大战小游戏
Jun 09 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脚本的10个技巧(7)
2006/10/09 PHP
使用zend studio for eclipse不能激活代码提示功能的解决办法
2009/10/11 PHP
php pack与unpack 摸板字符字符含义
2009/10/29 PHP
php和mysql中uft-8中文编码乱码的几种解决办法
2012/04/19 PHP
一个显示效果非常不错的PHP错误、异常处理类
2014/03/21 PHP
ThinkPHP3.1新特性之对Ajax的支持更加完善
2014/06/19 PHP
PHP实现登陆表单提交CSRF及验证码
2017/01/24 PHP
node.js 一个简单的页面输出实现代码
2012/03/07 Javascript
window.returnValue使用方法示例介绍
2014/07/03 Javascript
教你JS中的运算符乘方、开方及变量格式转换
2016/08/09 Javascript
微信小程序 开发之顶部导航栏实例代码
2017/02/23 Javascript
ES6 Map结构的应用实例分析
2019/06/26 Javascript
js中console在一行内打印字符串和对象的方法
2019/09/10 Javascript
JS document对象简单用法完整示例
2020/01/14 Javascript
详解为element-ui的Select和Cascader添加弹层底部操作按钮
2020/02/07 Javascript
vue data变量相互赋值后被实时同步的解决步骤
2020/08/05 Javascript
[01:01:25]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第三局
2016/02/27 DOTA
详解appium+python 启动一个app步骤
2017/12/20 Python
用tensorflow实现弹性网络回归算法
2018/01/09 Python
python中logging包的使用总结
2018/02/28 Python
基于wxPython的GUI实现输入对话框(1)
2019/02/27 Python
linux环境下Django的安装配置详解
2019/07/22 Python
python进阶之自定义可迭代的类
2019/08/20 Python
Python集合基本概念与相关操作实例分析
2019/10/30 Python
python中的函数递归和迭代原理解析
2019/11/14 Python
python画蝴蝶曲线图的实例
2019/11/21 Python
Python pickle模块实现对象序列化
2019/11/22 Python
解决c++调用python中文乱码问题
2020/07/29 Python
Pandas替换及部分替换(replace)实现流程详解
2020/10/12 Python
python爬虫scrapy框架之增量式爬虫的示例代码
2021/02/26 Python
使用HTML5 Canvas API控制字体的显示与渲染的方法
2016/03/24 HTML / CSS
爱尔兰橄榄球店:Irish Rugby Store
2019/12/05 全球购物
中医临床专业自我鉴定范文
2014/01/15 职场文书
音乐教育感言
2014/03/05 职场文书
幼师求职自荐信
2015/03/26 职场文书
Go语言实现Snowflake雪花算法
2021/06/08 Golang