js

7.1js解释型脚本语言

概念js解释型脚本语言。

浏览器内核

其他浏览器——webkit

Chrom——webkit

Firefox——类似于webkit(没有兼容问题)

Safari——webkit

版本问题:其他浏览器——js

IE浏览器

IE6/7/8——jscript 是一个内核

IE9/10/11——兼容性越来越好 是另一个内核

Edge——与webkit相似(没有兼容问题)

组成部分ECMAScript——脚本语言的语法(变量、函数、语句、命名规则)

DOMdocument object model文档工程模式(用于jsHTML之间的交互)

BOM——browser object model(主要浏览器提供的一系列内容)

如何使用js:目前的 JS 代码全部都写在 <body> 后

            调用文件:<script src="02_test.js"></script>

7.2调试代码

建议:开发时不要使用国产浏览器

Chrome、火狐浏览器、Safari()

IE浏览器——兼容问题

注释:单行注释//

多行注释/* */

测试代码的结果:控制台输入(开发者工具)console

 console.log() - 表示输出日志
 console.info() - 表示输出信息
 console.warn() - 表示输出警告
 console.error() - 表示输出错误

提示框 - alert()

alert(‘这是一个提示

document.write() - 直接将结果写入到HTML页面中

document.write会在页面中出现

7.3 基本语法

区分大小写——只针对英文

大小写不同含义不同。

var str = this is string’;

Js 代码中使用 :空格 制表符(tad)换行符 让代码更标准。

占用文件空间。

相同js代码提供两个版本:

开发版本 :具有空格、制表符和换行符。代码可读性高
压缩(生产)版本:去掉空格、制表符和换行符。代码不分行,一直写

语句(了解)

 标识符 表达式{         {}叫做语句块 )

语句

}

语句特点:语句独占一行。

关键字与保留字

关键字:在开发中不能使用(js本身使用的单词)

保留字:在开发中不能使用(js目前没有使用的单词,未来可能会用)

变量与常量

数据:目前我们获得用户的一切信息。阿里巴巴(从itdt 从互联网技术 到数据技术)。

变量:(变化的值):每次只能存储一个数据,最后一次赋值有效。

变量用于存储数据的容器。

变量存储类型弱类型和强类型

     一个变量中允许存储多种数据类型,这种情况就叫做弱类型/松散类型。

TODO 变量存储的类型
   TODO * 一个变量中允许存储多种数据的类型
   TODO * 这种情况,变量就叫做 弱类型/松散类型
  

 TODO 弱类型与强类型的区别
  TODO * 弱类型
   TODO   * 只声明变量,但不赋值时 - 并不清楚变量的类型
   TODO   * 只有在变量被赋值时,明确变量的类型
  TODO * 强类型
   TODO   * 在声明时,必须先明确变量的类型
  TODO 注意
   TODO * 在声明变量时,建议必须使用 var 关键字
   TODO   * ECMA 5版本允许不使用 var 关键字
   TODO   * 严格模式 - 必须严格遵循 JS 的语法要求
   TODO     * ECMA 5版本出现问题
   TODO     * ECMA 6版本出现问题

变量名:对应容器上的名字(允许重复使用)。

Var 变量名 = 数据(值);

Var:关键字

= : 表示赋值

  命名规则:必须以字母、下滑线、$ 、数字组成,数字不能开头。

Undefinednot defined的区别(面试题)

Undefined 声明了变量 但是未赋值。

Not defined 未声明变量。

TODO 使用变量
TODO * 当直接使用未定义的变量时,报错
TODO   str is not defined - str 没有被定义
TODO 注意
TODO * 必须要先声明,才能使用

常量(const:声明变量依旧使用var关键字

认为规定这是一个常量,不能再

在常量里边不允许只声明不赋值。

当声明常量或变量不使用关键字时 默认为变量(不建议使用)

Js区分大小写

  声明变量时,使用全小写;

  声明常量时,使用全大写。

TODO 在实际开发中
TODO * 用户管理模块 - 命名规则
TODO   都是以 user_ 开头
TODO * 商品管理模块
TODO   都是以 product_ 开头

重复声明相同变量--->  不会报错 ---> 最后一次声明的有效

7.4 数据类型

数据:有效的信息。

 未了满足所有数据的可能性,以及对数据的操作

 类型——对数据的分类。

数据类型的分类:在ECMA官方文档中并没有提供任何分类。

分类:

1原始类型:(字面量,全小写)

   string——字符串

number——数字  

boolean——布尔值

2包装类型:(首字母大写)

String——字符串

Number——数字

Boolean——布尔值

3引用类型:

4特殊类型

undefined

null

字符串类型:(建议使用单引号)

 转义字符:(面试题day07

\     f     ’   “

数字类型:number

  分类: 整数 小数

整数Int整型)1.  10.0自动转换成10

小数Float浮点型).1(不推荐)0.1

浮点型计算上会得到近似值,有误差。

解决:

浮点类型的计算,不在客户端

   而是将每个浮点类型的值,传递给服务器。

NaN: not a number(不是一个数字)用作类型转换时得到的数字类型结构。

NaN和任何值都不相等,包括它自己。

如何判断转换后的值是不是NaN .

console.log( isNaN);true//不是数字

false//是一个数字

布尔类型(true false)(全小写)

非布尔值会转化为布尔值。

falseundefined , 0 ,空字符串,NaN, null

原文地址:https://www.cnblogs.com/huifang/p/7078331.html