闲言碎语:之前面试的时候,我发现自己有一个很大的问题,学习的东西过于碎片化。好像每一个东西都了解,又似乎什么都不会。所以以后遇到一个问题,就系统的学一本书,一个教程?这样会不会好一点?尝试一下,也欢迎来评论区交流,和我这只小白一起成长。如果文章中有什么不对的也欢迎指出。(下面笔记中主要记录和java不一样的部分,略过部分可以自行查看学习链接)

JavaScript

  • 1 简介
  • 2 语法
    • 1 基础
    • 2 声明
    • 3 默认值
    • 4 数据类型
    • 5 字面量
  • 3 语句
    • for..in与for..of
  • 4 运算符
  • 5 函数
    • 1 函数提升
    • 2 闭包

学习链接

1 简介

JavaScript是一种动态类型语言(声明变量时不必指定数据类型,在代码执行时自动转换)

2 语法

1 基础
  • 1 区分大小写
  • 2 语句以 ; 作为结束符
2 声明
  • 1 var 全局变量
    (1)在同一作用域重复声明,后者会覆盖前者
    (2)三种声明方式
    (3)变量提升(不推荐):先使用(返回默认值)后声明
  • 2 let 块级变量,可以在{}内覆盖上一作用域的,但出了{}就会失效
  • 3 const 块级常量,必须初始化,不能重新赋值,其余同let
3 默认值
  • 1 undefined
    (1)var、undefined默认值为undefined
    (2)布尔环境下被转换为false
    (3)数值环境下被转换为NaN
  • 2 null
    (1)数值环境下被转换为0
    (2)布尔环境下被转换为false
4 数据类型

原始类型:布尔值(Boolean)、null、undefined、数字(整数或浮点数)、大整数、字符串、代表(Symbol(使用));对象

  • 数字和字符串相加会自动拼接;相减若字符串包裹的数值则会将字符串转换为数值,若不是则结果为NaN
5 字面量

1 数组字面量

2 布尔字面量

  • 有true和false两种值。例如:var a = true;
  • Boolean对象,类似于java的包装类
var b = new Boolean(false);
if(b){ //trueconsole.log(b);//false
}

3 浮点数字面量
小数,可以e来表示乘以10的几次幂(.1e-23 // 0.1*10-23=10-24=1e-24(小数点前若为0可以省略))
4 对象字面量

  • 属性名-值 对的元素列表
  • 示例:var a = {car:"aaa"};
  • 值可以是任意字面量或者函数

5 整数
6 RegExp literals
正则表达式:var re = /ab+c/;
7 字符串字面量

我理解的:字面量与数据类型区别:字面量是由语法表达式定义的常量,数据类型是其值

3 语句

for…in与for…of
let arr = [3, 5, 7];
arr.foo = "hello";for (let i in arr) {console.log(i); // 输出 "0", "1", "2", "foo"(索引)
}
for (let i of arr) {console.log(i); // 输出 "3", "5", "7"(数字索引对应的值)
}

4 运算符

1 赋值运算符
!== 两边操作数不相等或类型不同时返回true

5 函数

1 函数提升

只有函数声明会被提升到顶部(提前调用),而函数表达式不会被提升。

  • 函数声明function foo() {...}
  • 函数表达式 var baz = function foo() {...} 可以没有函数名foo
  • 函数表达式调用:
    (1)baz()、foo()、arguments.callee()
    (2)作为参数传递
function map(f, a) {let result = 0; result = f(a);return result;
}
const f = function(x) {return x * x * x;
}
2 闭包

文章地址

从Java角度学JavaScript相关推荐

  1. 学Java需要学哪些书?

    java技术所要学到的东西是很多的,只要入了这一行,学习是不能停止的,工作节奏在加快,新知识也源源不断,学习的最好途径就是看书,小编给大家推荐这几本java方面的书,搭配学习课程,让学员快速成长,以下 ...

  2. 重学JavaScript深入理解系列(一)

    JavaScript深入理解--执行上下文(Execution Context) 定义 每当控制器到达ECMAScript可执行代码的时候,控制器就进入了一个执行上下文. 执行上下文(简称:EC) 以 ...

  3. 重学JavaScript深入理解系列(六)

    JavaScript深入理解--闭包(Closures) 概要 本文将介绍一个在JavaScript经常会拿来讨论的话题 -- 闭包(closure).闭包其实已经是个老生常谈的话题了: 有大量文章都 ...

  4. java犯的小错误_[Java教程]十个JavaScript中易犯的小错误,你中了几枪?

    [Java教程]十个JavaScript中易犯的小错误,你中了几枪? 0 2015-06-01 12:00:19 序言 在今天,JavaScript已经成为了网页编辑的核心.尤其是过去的几年,互联网见 ...

  5. 漳州java,漳州学java,漳州学java学校,漳州学java效果怎么样

    漳州学java,漳州学java学校,漳州学java效果怎么样 首页 > java > 漳州学java 作者:镀金池   发布时间:2018-12-16 15:00 Javascript也是 ...

  6. 你不知道的javascript_为什么前端要学JavaScript?JS都有哪些逆天的功能?

    相信每一个想要学习前端的人对于前端三剑客html+css+js都不会陌生,这些可以说是一个前端的标配,而在前端的世界里,没有什么是JavaScript实现不了的,你真的了解js吗? 关于JS有一句话: ...

  7. java和python哪个好?学java和学python哪个更有前途?

    其实这是一篇容易引起撕逼的文章,java是一种覆盖范围广,可跨平台的编程语言,python也是近几年火遍全世界的语言.先说结论,java是基础,另外一个是加分项,我仅代表我个人观点,为了祖国和谐,人民 ...

  8. 《零基础学JavaScript(全彩版)》学习笔记

    <零基础学JavaScript(全彩版)>学习笔记 二〇一九年二月九日星期六0时9分 前期: 刚刚学完<零基础学HTML5+CSS3(全彩版)>,准备开始学习JavaScrip ...

  9. 学java应该学什么

    学java应该学什么?很多零基础想学习java的人都会去问这个问题,前期学习java没有一个方向,下面我来讲讲学java应该学哪些. 1 java语法.通过任何一本Java入门书籍,都可以学会Java ...

最新文章

  1. OpenGL着色器将纹理应用于全屏四边形
  2. Davinci及U-boot的一些介绍
  3. 知晓云助力小程序开发
  4. ticketvalidationexception票根不符合目标服务_如何在有效降低企业仓储成本的同时不降低企业的总体服务质量目标水平?...
  5. ‘utf-8‘ codec can‘t decode byte 0xb8 in position 0: invalid start byte
  6. 10 个实用技巧,让 Finder 带你飞
  7. python自带的解释器叫什么_什么是Python解释器?Python解释器有哪些?
  8. python入门区块链技术_区块链教程
  9. 图像处理学习路线总结 python
  10. 网恋背后的骗局:那些被宰杀掉的猪!必看!
  11. L - New Year Snowmen
  12. IP地址,IPV4与IPV6
  13. ==和equals判断两个字符串是否相等
  14. 17joys用户管理 添加用户
  15. vue中同一页面多个video播放问题
  16. Linux零基础入门到进阶
  17. 5月份必火20条爆笑段子
  18. ZigBee技术简述及与Wifi的比较
  19. NVIDIA Jetson TK1学习与开发——JETPACK自动刷机
  20. 用友U8单据号生成源码

热门文章

  1. 创业一定要取个好名字,才容易实现人生逆袭
  2. 这算不算职场PUA?
  3. 怎么辨别iPhone手机的真伪?
  4. OSI参考模型(应用层、表示层、会话层、传输层、网络层、数据链路层、物理层)...
  5. Python学习笔记(尚硅谷)——字符串
  6. SQL Server数据库指标
  7. SQL Server中查询存储的用例
  8. linux-tomcat连接数查询
  9. 转载:better-scroll的相关api
  10. C语言变量长度在32位和64位处理器上的关系