zoukankan      html  css  js  c++  java
  • 2015年10月23日JS笔记

    ECMAScript标准:JavaScript核心语法

    微软:Jscript

    ECMAScript标准:一纸空文

    JavaScript和JScritp都号称完全实现了

    ECMAScript标准

    W3C:DOM标准:专门操作HTML元素,CSS样式,事件的统一标准。

    BOM:专门操作浏览器窗口的工具。

    没标准,由浏览器厂商自行实现。

    JavaScript=ECMAScript(核心语法)+DOM(操作网页内容)+BOM(操作浏览器窗口,很少用到)

    Mozilla→Firefox

    JSer最大挑战:浏览器兼容性问题

    JavaScript典型用途:

    1. 客户端数据计算
    2. 客户端表单验证
    3. 动画

    JavaScript特点:

    纯文本;解释执行;弱类型;基于对象

    1. 使用浏览器自带的JS解释器:

    F12→控制台

    光标处写脚本代码,回车执行。

    console:指代控制台:专门调试程序输出结果的窗口。

    log:控制台console提供的一个功能:向控制台输出一行日志

    多行:shift+enter→换行

    **JavaScript中区分大小写!**

    **字符串单双引号都行**

    1. 单独安装专门解释器软件:

    node.js Chrome V8

    win键+R→cmd→node

    退出:两次Crtl+c

    执行.js文件:1.先cd到.js文件所在路径

    2.node 文件名 回车,。

    1. 随网页一同运行:

    浏览器包含两种工具:

    排版引擎:专门加载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文件?

    1. 创建.js文件,编写源代码
    2. 在页面中引入外部.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编号,就等效于处理编号对应的文字。

    转义字符:专门表示非打印字符以及特殊符号

    如何使用转义字符:特殊符号  比如: 换行   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”)

                    读取字符串中的整数部分

    1. 从第一个字符向后读。
    2. 如果碰到第一个数字字符,开始获取数字,再次碰到不是数字的字符(包括小数点),停止读取。
    3. 如果开头碰到空格,忽略。
    4. 如果碰到的第一个非空格字符,不是数字说明不能转→NaN,NaN的意思是Not a Number。什么是NaN:不是数字(内容)的数字(类型)

    转为浮点数:var num=parseFloat(“str”)

               读取字符串中浮点数部分。

    用法和parseInt完全相同

    唯一差别:parseFloat认识小数点,仅认第一个。而且parseFloat如果能转成整数,就不会转为浮点数,例如25.0,那么就会转为25,.25转为0.25

    prompt(“提示信息”):专门用于请求用户输入数据,收集数据的对话框。

    var str=prompt(“提示信息”);

    凡是从页面上获得的数据,都是字符串!必须先来转换再计算。

  • 相关阅读:
    浏览器内核中各个线程之间的关系
    Browser进程和浏览器内核(Renderer进程)的通信过程
    babel 的一些记录
    mac nvm install
    小程序云开发补充
    JavaScript 导学推荐
    网页切片
    初探响应式Web设计
    WEB ICON 的探讨
    [转载]CSS 创作指南(Beta)(css规范)
  • 原文地址:https://www.cnblogs.com/yiningfamily/p/4907749.html
Copyright © 2011-2022 走看看