【学习过程遇到疑问和延伸阅读】

1.document.write()的深入理解
write()方法可向文档写入HTML表达式或JavaScript代码。
可使用document.write()向输出流写文本或者HTML

延伸阅读《js中document.write的那点事》
http://www.cnblogs.com/dh616854836/articles/2140349.html

2.编程语言与脚本语言的区别

概念的相对性:标记语言vs编程语言;编译型语言vs解释型语言(脚本语言)
而JavaScript是编程语言,是解释型语言(脚本语言)。

延伸阅读《编程语言,标记语言,脚本语言分别有哪些?区别是什么?》
http://www.cnblogs.com/lsgsanxiao/p/5126170.html

3.Sublime text配置JS运行环境,工具Tools->build- new build system
可以进行构建功能的配置,配置后就可以不离开编辑器直接编译当前正在编写的代码,
并把打印输出到输出面板。
配置了Node(Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境 )后,
就可以用ctrl+B 运行JS文件了。

4.编译型语言的程序源文件运行“四部曲”。
每个程序提交到计算机运行,都包含着如下所谓的“四步曲”:
(1)编辑(把程序代码输入,交给计算机)或编写源代码。
(2)编译(成目标程序文件.obj)。编译就是把高级语言变成计算机可以识别的2进制语言,
计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。
编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。
主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。
(3)链接(成可执行程序文件.exe)。
链接是将编译产生的.obj文件和系统库连接装配成一个可以执行的程序。
由于在实际操作中可以直接点击Build从源程序产生可执行程序,可能有人就会置疑:
为何要将源程序翻译成可执行文件的过程分为编译和链接两个独立的步骤,不是多此一举吗?
之所以这样做,主要是因为:在一个较大的复杂项目中,有很多人共同完成一个项目(每个人可能承担其中一部分模块),
其中有的模块可能是用汇编语言写的,有的模块可能是用VC写的,有的模块可能是用VB写的,
有的模块可能是购买(不是源程序模块而是目标代码)或已有的标准库模块,
因此,各类源程序都需要先各自编译成目标程序文件(2进行机器指令代码),再通过链接程序将这些目标程序文件连接装配成可执行文件。
(4)运行(可执行程序文件)。
上述四个步骤中,其中第一步的编辑工作是最繁杂而又必须细致地由人工在计算机上来完成,
其余几个步骤则相对简单,基本上由计算机来自动完成。

5.程序流程图
是程序分析中最基本,最重要的分析技术。最基本的工具。
通过结构清晰,逻辑性强的流程图,能更好地理解程序执行的顺序。程序流程图是人们对解决问题的方法、思路或算法的一种描述。

延伸阅读《编程基本功训练:流程图画法及练习》
http://blog.csdn.net/sxhelijian/article/details/8222858

【新概念,重要概念】
编译,编程语言,解释型语言

【实操知识点脉络】

1.什么是JavaScript
1.1JavaScript是什么
html内容,css样式,JavaScript动作
程序可以计算,可以接受用户交互,做数据处理,
可以被浏览器执行

Java与JavaScript的区别
Java需要编译,JavaScript是解释型语言

JavaScript源代码放在HTML里头,
让浏览器运行

1.2页面中JavaScript代码
如何在页面加入?
<script></script>
可以放在head(函数的定义,变量的定义)或者body(做实际的动作)里

JavaScript一条语句后必须以分号结尾
<script>document.write("Hello World!");</script>-document做write动作
document是对象(浏览器的页面)
点.是运算符号
对象.动作(表示点左边的对象做点右边的动作)

需要write动作的参数,
参数是一句话,程序语言是用字符串,用双引号引起来。

1.3桌面上的JavaScript
远超过浏览器本身,除了可以在浏览器运行外,也可以在桌面端运行,
需要其他软件的帮助。

Node.js下载
启动Node,运行js示例文件的代码,保存为server.js,文件里面的代码,可以建立了Web服务器。
server.js所在的目录的HTML文件,就可以通过浏览器访问(js文件中的本机地址和端口号)

Sublime text中关于JavaScript的工具,
比如Syntax的高亮.

在下载安装Node.js后,还不能在Sublime text中直接运行JavaScript,需要配置js的运行环境
需要去tools,build system,new system,
然后在文件中,输入这么一段文字,在windows下
{
"cmd": ["node", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.javascript"
}
然后保存,名字为node.sublime-build
最终会在tools-build system下会有个node。

现在回到server.js中,在Tools-build system下选择node之后,
按快捷键ctrl+B,编译运行,然后server就启动了
(在编译时出现了错误提示, [WinError 2] 系统找不到指定的文件。
最终找出原因是server.js的目录路径下,有个目录使用了中文命名,修改为英文后,编译成功)

1.4事件响应代码
另一种加入JS代码的方式,
利用HTML的标记的事件(动作)属性,
把JS代码作为属性值的方式。
如:body 的onLoad的载入事件属性。
<body οnlοad="alert('hello!')">

1.5变量variable
当需要保存数据的时候,可以使用变量。
var hello = "Hello"; //等号是赋值运算,给变量一个初值;
document.write(hello);
<script>document.write("<h1>Hello World!</h1>");</script>

变量命名的规则:
数字,字母,下划线_ 的组合,
数字不能作为第一个字符
不能使用JavaScript的关键字和保留字

变量是弱类型:变量无特定的类型,定义变量时只用var运算符。

可以将它初始化为任意值,也可以随时改变变量所存数据的类型。

2.计算
2.1赋值运算
变量本身可以没有类型
数值,字符串,布尔值
2.2字符串连接运算
2.3四则运算
%运算,取模,取除法结果里的余数,实际应用判断奇偶数
圆括号
在JavaScript中,不太区分整数和浮点数
2.4加1,减1运算(推荐单独使用)
result++;++result;

2.5比较
2.5.1数值比较
==
!=
<=
2.5.2字符串比较(跟字符在计算机里的排序有关)
==
>=
<=

3判断

3.1

if(关系运算)

{
满足条件的处理
}
浏览器先执行了js后,再解释HTML。
document.write是把字符串写到html

3.2else{}

3.3嵌套的if语句
多个else的情况下,else是与最近的if搭配起来

建议
-在if和else后面永远放一对{}
-哪怕后面只有一句语句
if()
{ }
else if()
{ }
else
{}

3.4switch-case多路分支
每一个case要有break,否则不会跳出switch,
继续往下面的case执行
实践例子,百分制分数转换为A-F的等级

3.5逻辑运算(true和false之间的运算)
运算符 && || !
真值表

3.6优先级
-所有的逻辑运算符的优先级都低于关系运算符
-!> && >||

3.7条件运算符(三元运算)
?:
<exp>?<v1>:<v2>
等价于
if(exp)
{ v1 }
else
{ v2 }

4循环
4.1while语句
让同一段代码可以重复执行很多次,这种程序结构
while(exp)
{
重复执行的代码
}

在分析别人程序的时候,可以把值设小减少循环次数。
来理解程序的用意。

4.2循环的例子
例子:求最大公约数
描述算法:前置条件-一步步的步骤-终止条件

4.3无限循环
循环的条件永远满足,结果陷入在这个循环里面

4.4循环嵌套
外面的循环的每一步,里面的循环需要不满足条件跳出,否则执行里面的循环。

4.5do-while循环
do{
}while(condition)

与while循环的区别:
首先进入循环体执行一次,而不先判断条件。

例子:reverse number

4.6for循环
for(init;condition;step){
}
应用:计数循环
当循环的次数预先知道,或者需要有递进的动作时,

往往选择for循环。

for循环嵌套例子

4.7无限循环的写法
while(true){}
do{}while(true)
for(;;){}

4.8不同循环的比较
-三种循环(while、do和for)的功能是等价的
-如果需要循环至少执行一次,do通常是更好的选择
-当循环的次数是固定的,或者很容易计算得到的时候,选择for循环

4.9如何选择循环
-如果有固定次数,用for
-如果必须执行一次,用do-while
-其他情况用while

4.10break与continue
break:跳出循环
continue:跳过当前循环步,进入循环的下一轮
从流程图可以清晰地看出区别来。

转载于:https://www.cnblogs.com/iccy/p/6822724.html

【学习笔记】JavaScript基础(一)相关推荐

  1. HTML5学习笔记 —— JavaScript基础知识

    HTML5学习笔记 -- JavaScript基础知识 标签: html5javascriptweb前端 2017-05-11 21:51 883人阅读 评论(0) 收藏 举报 分类: JavaScr ...

  2. 个人学习笔记——Javascript基础学习---DOM基础(阶段总结)

    DOM核心内容(基础部分) 文档对象模型(Document Object Model),处理可扩展标记语言的标准接口 我们获取过来的DOM元素是一个对象,所以称为文档对象模型 文档Document 元 ...

  3. [前端学习笔记]JavaScript基础知识

    一.JS三种书写位置 行内式 直接写到元素的内部. <input type="button" value="唐伯虎" onclick="aler ...

  4. html5教程 w3cschool,W3Cschool学习笔记——HTML5基础教程

    HTML5 建立的一些规则:新特性应该基于 HTML.CSS.DOM 以及 JavaScript. 减少对外部插件的需求(比如 Flash) 更优秀的错误处理 更多取代脚本的标记 HTML5 应该独立 ...

  5. jqGrid 学习笔记整理——基础篇

    jqGrid 学习笔记整理--基础篇 jqGrid 实例中文版网址:http://blog.mn886.net/jqGrid/ 国外官网:http://www.trirand.com/blog/ 本人 ...

  6. JS学习笔记——入门基础知识总结

    JS入门基础知识总结1 前言 基础背景知识 一.产生历史: 二.特点: 三.应用方向: 四.Javascript组成: JavaScript书写使用方式 一.行内式(了解即可,项目中不使用,日常练习尽 ...

  7. Docker:学习笔记(1)——基础概念

    Docker:学习笔记(1)--基础概念 Docker是什么 软件开发后,我们需要在测试电脑.客户电脑.服务器安装运行,用户计算机的环境各不相同,所以需要进行各自的环境配置,耗时耗力.为了解决这个问题 ...

  8. Python学习笔记_1_基础_2:数据运算、bytes数据类型、.pyc文件(什么鬼)

    Python学习笔记_1_基础_2:数据运算.bytes数据类型..pyc文件(什么鬼) 一.数据运算 Python数据运算感觉和C++,Java没有太大的差异,百度一大堆,这里就不想写了.比较有意思 ...

  9. python input 拖入路径 去除转义 空格_python学习笔记(基础-2)(转载)

    1.输出 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字. 2.输入 如果要让用户从电脑输入一些字符怎么办?Python提供了一个input(),可以让用户输入字符串,并存放到一个变 ...

  10. php基础教学笔记,php学习笔记:基础知识

    php学习笔记:基础知识 2.每行结尾不允许有多余的空格 3.确保文件的命名和调用大小写一致,是由于类Unix系统上面,对大小写是敏感的 4.方法名只允许由字母组成,下划线是不允许的,首字母要小写,其 ...

最新文章

  1. 业界丨几张图带你看懂人工智能产业
  2. 诊断Java中的内存泄露
  3. android列表集合点击事件,给ListeView列表中的每一个Item添加点击事件
  4. 2014百度研发真题及其解析-求比指定数大且最小的“不重复数”
  5. 多媒体制作技术心得体会_论多媒体教学的改革与创新
  6. redis生产环境持久化_在SageMaker上安装持久性Julia环境
  7. 阿里巴巴下一代云分析型数据库AnalyticDB入选Forrester Wave™ 云数仓评估报告 解读
  8. html背景动起来,CSS+HTML 循环滚动背景效果
  9. jmeter+接口测试练习+接口关联+Json提取
  10. 鼠标移动到曲线图上显示值
  11. 锤子发布会2018的四个环节概述
  12. Dataset之LFW:LFW人脸数据库的简介、安装、使用方法之详细攻略
  13. VRRP在城域网中的应用
  14. CAN总线协议学习笔记
  15. 使用java制作一个个税计算器
  16. CSDN浏览器助手又双叒叕更新啦,来体验下都更新了什么
  17. 笔记-中项/高项学习期间的错题笔记2
  18. windows_server_2008_远程桌面(授权、普通用户登录多用户登录
  19. 基于JSP的运动会综合管理系统
  20. 根据Email地址跳转到邮箱登录界面

热门文章

  1. 又见链表 --- 另一种Creat方式与反转
  2. (转)Eclipse平台技术概述
  3. ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调
  4. 关于注入(css/c.js)
  5. Pytorch Fashion_MNIST直接离线加载二进制文件到pytorch
  6. Pytorch RNN(详解RNN+torch.nn.RNN()实现)
  7. c语言怎样获得函数内参数的值_C语言可变参数函数的实现原理
  8. AUTOSAR从入门到精通100讲(四十四)-AUTOSAR诊断实现
  9. 本科计算机应用水平,湖南工程学院全日制非计算机专业本科生参加湖南省计算机应用水平等级考试的规定...
  10. 按窗口文件php代码,在Windows命令行窗口中输入并运行PHP代码片段(不需要php文件)的方法...