2015年10月23日JS笔记
ECMAScript标准:JavaScript核心语法
微软:Jscript
ECMAScript标准:一纸空文
JavaScript和JScritp都号称完全实现了
ECMAScript标准
W3C:DOM标准:专门操作HTML元素,CSS样式,事件的统一标准。
BOM:专门操作浏览器窗口的工具。
没标准,由浏览器厂商自行实现。
JavaScript=ECMAScript(核心语法)+DOM(操作网页内容)+BOM(操作浏览器窗口,很少用到)
Mozilla→Firefox
JSer最大挑战:浏览器兼容性问题
JavaScript典型用途:
- 客户端数据计算
- 客户端表单验证
- 动画
JavaScript特点:
纯文本;解释执行;弱类型;基于对象
- 使用浏览器自带的JS解释器:
F12→控制台
光标处写脚本代码,回车执行。
console:指代控制台:专门调试程序输出结果的窗口。
log:控制台console提供的一个功能:向控制台输出一行日志
多行:shift+enter→换行
**JavaScript中区分大小写!**
**字符串单双引号都行**
- 单独安装专门解释器软件:
node.js Chrome V8
win键+R→cmd→node
退出:两次Crtl+c
执行.js文件:1.先cd到.js文件所在路径
2.node 文件名 回车,。
- 随网页一同运行:
浏览器包含两种工具:
排版引擎:专门加载HTML内容和CSS样式
解释引擎:专门运行js脚本
<script></script>专门保存JS脚本块的元素
<script>中脚本块何时运行?随网页加载,解释执行。
<script>中都要用JS语法!
html元素的事件”属性”中:
什么是事件?元素可以根据鼠标或键盘的不同操作响应不同的交互行为。
<script>解释执行,读到才执行。先读到先执行。<script>放置的先后顺序影响程序结果。
优化:放在body的最后
一次定义,处处使用;一次修改,处处生效!
解决:凡是重复编写的代码块,都要封装为一个方法:
方法:执行一个专门功能的一组代码的序列。
定义在<head>下的<script>中
语法:function 方法名(){重用的代码块}
调用:方法名()→调用后立即执行。
*不调用不执行*
调试:but? debug!调试遇到问题了?那么解决问题!
只要没反应或效果没出来就是出错!→F12
查看错误原因→定位错误位置!
<script>脚本块中的错误,仅影响”当前脚本块”中出错”位置之后”的脚本执行,不影响<script>之外的其他元素加载或脚本块执行。
funcition中的错误:只有调用方法时才能出发!
页面内部脚本块问题:仅当前页面可用!
解决:外部.js文件!
什么是.js文件:专门保存js脚本源代码的文件。
源代码都要放到js解释器才能执行,不能双击。
如何使用.js文件?
- 创建.js文件,编写源代码
- 在页面中引入外部.js文件
内外部同名方法,解释执行!
ECMAScript:区分大小写;字符串必须用引号(单双都行)包裹;每条语句结尾都建议有分号。
语句:让程序可以做一件事的一行命令
脚本块:多行语句的序列
程序:让计算机模拟执行人类的想法
注释:不会被解释执行或显示的代码说明→给程序员看的。注释也占网页流量!生产环节必须去掉。
HTML注释:<!---->
CSS注释:/**/
JS注释://单行注释 /*多行注释*/
什么是变量?内存中专门储存数据的空间。程序都是在内存中运行。
何时使用变量?只要在程序中临时存储数据,都要放在变量中
怎么使用变量?声明,命名,初始化和使用
声明:在内存中开辟一个存储空间,并且起一个名字
怎么声明?var 变量名;
赋值:将等号右边的数据,装入等号左边的变量中!
如果未赋值:js默认赋值为undefined
命名规则:见名知意
保留字/关键字不能当变量名
保留字:js中已经占用的特殊意义的关键字
使用:使用变量名等效于直接使用变量中存储的数据
一般常量命名用大写。常量一旦创建,值不可改变的特殊变量。
程序里做动画只认角度不认弧度。
如何使用常量:const 常量名=常量值;
强调:只有等号可以向变量中存入新值,普通运算不会改变变量的值,只是使用变量的值。
只要带var就是声明,只要声明就会开辟内存空间。
js中新同名变量的空间会替换旧变量的空间。
有几个var,就会创建几个存储空间。
数据类型:变量中存储的数据的类型。
js是“弱类型”:变量本身没有类型,只有变量中的值才有类型。
一个变量,可以反复保存不同类型的数据。为什么要有数据类型:现实中所有数据根据用途不同,都分为不同数据类型。
JavaScript数据类型:分为原始类型与引用类型
原始类型:number:数字;string:字符串;boolean:布尔;null:空;undefined:未定义。
引用类型:object:对象;Function:函数;Number:数字;String:字符串;Boolean:布尔;Data:日期;Error:错误;
原始类型:数据保存在变量本地!
Number类型:表示一切用于比较或数学计算的数字
程序中数字分整数、浮点数(现实中的小数)
js中一切数字都用number保存,不分整数类型和小数类型。
如何定义number类型值?不带引号的数字字面量
程序中数字类型的舍入误差:程序中不能准确表示1/10,就好比现实中不能准确表示1/3一样!
如何修正:按指定位数四舍五入:数字.toFixed(小数位数)
console.log(change.toFixed(2));
将change中的数据,按2位小数四舍五入,因为计算机对于0.1有可能会算不尽,就跟我们算不尽三分之一一样,为了避免这个问题,需要使用这个方式。
今后计算结果小数位数超长,说明碰到舍入误差。按位四舍五入。
string类型:一串字符的序列!
Unicode:所有语言文字中的字符编号
Why:因为计算机智能处理数字,无法处理文字。
计算机处理unicode编号,就等效于处理编号对应的文字。
转义字符:专门表示非打印字符以及特殊符号
如何使用转义字符:\特殊符号 比如:\n换行 \t tab键
如果字符串内容中包含于语法相冲突的特殊字符,用\转为原文
字符串变量的内容一旦创建不可改变!如果改变,只能创建新字符串,抛弃旧字符串。
笔试题:
var str=”Hello”;
str=str+”World”;
有几个字符串?答:3个。
布尔boolean类型:仅有两个值的特殊数据类型:true,,false
何时使用boolean?只要一个值只有真假的两种情况,就用boolean类型。
undefined类型:表示一个变量仅声明过,但从未赋值。所以未赋值的变量,默认值都是undefined.
undefined类型的值还是undefined.
原始类型大小:
number:整数4字节,浮点数8字节
string:每个字符2字节
数据类型间的转换:
隐式转换:程序自动转换数据类型(坑)
弱类型:1.变量声明时不必限定数据类型,今后可能保存任何类型数据。
2.数据类型间可以自动类型转换
仅考虑+:只要有字符串参与,一切类型都加””变为字符串。如果没有字符串,都转为数字计算。如果遇到布尔类型的怎么办?那么true转为1,false转为0;
字符串加数字的案例:
强制转换:程序员通过调用专门函数手动转换类型
2 String: x.toString()→将X转为字符串类型,x可以为任意类型。
2 Number: Number(x)→将任意类型转为number类型
string→number:
转为整数:var num=parseInt(“str”)
读取字符串中的整数部分
- 从第一个字符向后读。
- 如果碰到第一个数字字符,开始获取数字,再次碰到不是数字的字符(包括小数点),停止读取。
- 如果开头碰到空格,忽略。
- 如果碰到的第一个非空格字符,不是数字说明不能转→NaN,NaN的意思是Not a Number。什么是NaN:不是数字(内容)的数字(类型)
转为浮点数:var num=parseFloat(“str”)
读取字符串中浮点数部分。
用法和parseInt完全相同
唯一差别:parseFloat认识小数点,仅认第一个。而且parseFloat如果能转成整数,就不会转为浮点数,例如25.0,那么就会转为25,.25转为0.25
prompt(“提示信息”):专门用于请求用户输入数据,收集数据的对话框。
var str=prompt(“提示信息”);
凡是从页面上获得的数据,都是字符串!必须先来转换再计算。
2015年10月23日JS笔记的更多相关文章
- [分享] 从定制Win7母盘到封装详细教程 By BILL ( 10月23日补充说明 )
[分享] 从定制Win7母盘到封装详细教程 By BILL ( 10月23日补充说明 ) billcheung 发表于 2011-10-23 00:07:49 https://www.itsk.com ...
- 2016年10月23日 星期日 --出埃及记 Exodus 19:7
2016年10月23日 星期日 --出埃及记 Exodus 19:7 So Moses went back and summoned the elders of the people and set ...
- Linux自用指令——2019年10月23日
1.ls ls命令是列出目录内容(List Directory Contents)的意思.运行它就是列出文件夹里的内容,可能是文件也可能是文件夹. ls -a 列出目录所有文件,包含以.开始的隐藏文件 ...
- 路冉的JavaScript学习笔记-2015年1月23日
1.JavaScript的数据类型 A.原始类型:包含数值.字符串.布尔值.空值(null)和未定义值(undefined). Js原始类型均为不可改变类型.对不可变类型调用任何自带方法都不会改变原始 ...
- 2015年10月22日CSS学习笔记
XHTML1.0对HTML4.0的改进 借鉴了XML的写法,语法更加严格. 把页面的内容和样式分离了,废弃了html4中的表示样式的标签和属性.推荐使用css来描述页面的样式. CSS样式的优先级 ! ...
- 2015年10月16日HTML标签表单笔记
textarea只是纯文本编辑框,要想输入各种样式的文本.图片.表格等需要使用“富文本编辑框”.html4暂无富文本编辑框,可使用第三方工具实现此效果. <textarea></te ...
- 2015年10月15日学习html基础笔记
一个互联网公司的分工,小公司要求全能,拿一个项目全部做出来.大公司分工明细,主要步奏为策划人员策划方案,美工人员设计图有.psd.rp等,前端人员做静态页面,后台人员获取数据java php .net ...
- 初识Less(2015年05月23日)
因为最近在研究Bootstrap,然后才了解到Less,听说Less很强大,又听说Bootstrap+Less会更搭,所以就决定也顺带了解下Less的相关知识. come on...... 一.简介 ...
- 10月17日 JS开始日~
1.变量提升 变量提升是浏览器的一个功能,在运行js代码之前,浏览器会给js一个全局作用域,叫window, window分为两个模块,一个叫做内存模块,一个叫做运行模块,内存模块找到当前作用域下的 ...
随机推荐
- bnuoj 4357 传送阵
http://www.bnuoj.com/bnuoj/problem_show.php?pid=4357 [题意]:在1000个数中选择3个之和是m的倍数,可能有多种选择方案,请输出标号排序最小的一组 ...
- bnu 4358 左手定则 (搜索)
http://www.bnuoj.com/bnuoj/problem_show.php?pid=4358 [题意]:给定起始位置和方向和目的地,按照左转.前进.右转.后退的优先级递减,也就是说能左转就 ...
- 一个 XSD 实例
一个 XSD 实例 本节会为您演示如何编写一个 XML Schema.您还将学习到编写 schema 的不同方法. XML 文档 让我们看看这个名为 "shiporder.xml" ...
- uva 10369
数组开小了 还RE了一遍....... 最小生成树 按费用从小到大排... #include <iostream> #include <algorithm> #inc ...
- windows下游戏服务器端框架Firefly安装说明及demo运行
原地址:http://blog.csdn.net/wangqiuyun/article/details/11150503 本来公司一个网游服务器端选定了pomelo框架,后来出了个Firefly,为做 ...
- 玩转redis
http://www.cnblogs.com/huangxincheng/p/5002794.html
- Qt:无标题栏无边框程序的拖动和改变大小
From: http://blog.csdn.net/kfbyj/article/details/9284923 最近做项目遇到的问题,总结下. 有时候我们觉得系统的标题栏和按钮太丑太呆板,想做自己的 ...
- Ado.Net小练习01(数据库文件导出,导入)
数据库文件导出主要程序: <span style="font-family: Arial, Helvetica, sans-serif;"><span style ...
- CSRF攻击[转]
一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSR ...
- Android 通过 Intent 传递类对象
Android中Intent传递类对象提供了两种方式一种是 通过实现Serializable接口传递对象,一种是通过实现Parcelable接口传递对象. 要求被传递的对象必须实现上述2种接口中的一种 ...