继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

JavaScript学习笔记一 – 基础篇上

ZKReadStone
关注TA
已关注
手记 52
粉丝 32
获赞 322
JavaScript是解释性语言 不需要编译成文件 能跨平台

主流浏览器及内核:

IE trident
Chorme webkit/blink
FireFox Gecko
Opera presto
Safari webkit

JavaScript是单线程:只有一只手拿苹果,只能一个一个拿,同一时间只能干一件事。

编译性语言:通篇翻译生成编译后的文件,然后执行

语言:c c++
优点:快
缺点:生成编译文件不能跨平台

Java .java --> javac -->编译 --> .class --> jvm --> 解释执行

解释性语言:翻译一行执行一行 (所有带尖角号的都是解释性语言)

优点:能跨平台
缺点:稍微慢一点

单线程也能实现一些多任务的效果,解释就是单线程快速切换,跟人一种多线程的错觉

JavaScript三大部分:
ECMAScript、DOM、BOM

原始值 和引用值

基本数据类型都是原始值 Number、String、Boolen、undefined、null
array、Object、function...date RegExp都是引用类型
引用类型放在堆上、原始值放在栈上

stack 栈 first in last out
栈上都是copy一份

heap 堆

var num = 100;
var num0 = 200;

栈stack ####堆heap

栈stack 地址 栈stack内存 堆heap 地址 堆heap内存
num 100 1001 --
num0 200 1002 --
1009 -- 1003 --
1008 -- 1001 --

num = 300;

栈stack 地址 栈stack内存 堆heap 地址 堆heap内存
1011 100 1001 --
num0 200 1002 --
num 300 1003 --
1008 -- 1001 --

var arr = [1,2];
var arr1 = arr;
栈stack 地址 栈stack内存 堆heap 地址 堆heap内存
arr heap1001 1001 [1,2]
arr0 heap1001 1002 --
1009 -- 1003 --
1008 -- 1001 --

var arr = [1,2];
var arr1 = arr;
arr = [1,3];

此时的arr1 是多少?

栈stack 地址 栈stack内存 堆heap 地址 堆heap内存
arr heap1002 1001 [1,2]
arr1 heap1001 1002 [1,3]
1009 -- 1003 --
1008 -- 1001 --

错误分两种:

1.低级错误(语法解析错误)

例如标点符号错误

2.逻辑错误(标准错误,情有可原)

代码块的错误不会影响另一个代码块的执行

加减乘除

var str = 1 + 1 + '张' + '康' + (2 + 3); //“+”的字符串的拼接作用 2张康5

计算的顺序自左向右
赋值的顺序自右向左

++ -- += -= %=

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP