JavaScript 布兰登 艾奇

JavaScript  是一种运行在客户端的脚本语言(script: 脚本) 

      脚本语言不需要编译,运行过程中由js解释器(js引擎)逐行进行解释并进行 现在也可以基于Node.js技术进行服务器端的编程

浏览器分为渲染引擎和JS引擎

      渲染引擎用来解析HTML和CSS chrome: blink, 老版本的webkit.

      Js引擎(Js解释器):用来读取网页中的JavaScript代码,对其进行处理后运行 chrome 中的v8

      浏览器本身并不会执行Js代码,而是通过内置JavaScript引擎(解释器)来执行Js代码.

      Js引擎执行代码时逐行进行解释每一句源码(转换成机器语言) 然后通过计算机去执行 所以JavaScript 语言归为脚本语言会逐行解释执行

Js的组成:

    ECMAScript: JavaScript语法( JavaScript网景公司 Jscript微软) 

    DOM:页面文档对象模型

    BOM:浏览器对象模型

Js书写方式: 行内 内嵌和外部

  行内JS:

  1. 可以将单行或少量JS代码写在HTML标签事件属性中(以on开头的属性)如onclick
  2. 注意单双引号的使用 在HTML 中我们推荐使用双引号 在JavaScript中我们推荐使用单引号
  3. 可读性差
  4. 引号易错
  5. 特殊情况下使用

内嵌JS:

  1. 可以将多行JS代码写道<script>标签中
  2. 内嵌JS是学习时常用的方式

外部JS文件

  1. 利于HTML页面代码结构
  2. 引用外部JS文件的<script>标签中不可以写代码
  3. 适合于JS代码量比较大的情况

JS注释:

  1. 单行 // 
  2. 多行 /*……*/ 

JavaScript输入输出语句

函数 效果 归属
alert(msg);   浏览器弹出警示框   浏览器
  console.log(msg);   浏览器控制台打印输出消息   浏览器
  prompt(info);  浏览器弹出输入框,用户可以输入    浏览器

变量:是程序在内存中申请的一块用来存放数据的空间

变量的使用: 1 声明变量 2 赋值

  声明: var age;  var是JS的关键字,用来声明变量

变量语法扩展

  1.更新变量: 重新赋值后,原有的值被覆盖

  2.同时声明多个变量:  var age=18, name=’abc’; 用逗号隔开

  3.变量的特殊情况 

1) 声明未赋值 undefined
2) 不声明不赋值 直接使用 报错
3) 不声明只赋值 输出值 (此时为全局变量)

变量命名规范:

  1. 字母 数字 下划线 美元符号$
  2. 严格区分大小写
  3. 不能以数字开头
  4. 不能是关键字
  5. 变量名必须有意义
  6. 遵守驼峰命名法,首字母小写,后面单词的字母需要打写

JavaScript 是弱类型编程语言或者说是动态语言

  js的变量数据类型只有程序在运行过程中,根据等号右边的值来判断, JavaScript数据类型可变化

数据类型分类:简单数据类型 

类型   默认值
Number   0
Boolean   false
String   ”
  Undefined Undefined
  Null   null

Number

数字以0开头为八进制  以0x开头为十六进制 

数字可以为整数也可以为小数(浮点型) 

Number最大值 Number.MAX_VALVE 最小值: Number.MIN_VALVE

Infinity(无穷大) -Infinity(无穷小)

NaN 非数字   isNaN() 用来判断非数字


字符串行String   引号中的任意文本  js推荐使用单引号

  1. 字符串中引号的嵌套问题(外双内单,外单内双)
  2. 字符串转义符
    转义符 说明  
    \n 换行符  
    \\ 斜杆
    \’ ‘单引号
    \” 双引号
    \t tab缩进
    \b 空格
  3. 字符串长度 length
  4. 字符串的拼接 “+” 只要有字符串 + 任意类型  = 拼接后的新字符串
  5. 字符串拼接加强 字符串和变量来拼接,方便修改值

布尔型 Boolean

  true参加加法运算当1 false 参加运算当0

Undefined 和 Null

  一个变量声明没有被赋值,变量会有一个默认值undefined(如果进行相加或者相连,注意结果)

  undefined+1 最后结果未NaN

  Null + 1 最后结果为1


获取吧变量类型 typeof    typeof num      注: prompt 取出来的值为字符串类型

  typeof null -> object

字面量: 在源代码中一个固定值的表示法


数据类型的转换

1. 转换成字符串

  1. toString()   num.toSting();
  2. String() 强制转换  String(num);
  3. 加号拼接字符串    ‘字符串’+num;

2.转换成数字型

  1. parseInt(string)   parseInt(’78’);
  2. parseFloat(string) parseFloat(’78’);
  3. Number() 强制转换 Number(’78’);
  4. js隐式转换( – * / )    ’78’ – 0;

3.转换成布尔型

  Boolean()  Boolean(‘true’);

  代表空的会转换成false, 如空,0,NaN,null,undefined   其余值会被转化成true.


解释性语言和编译型语言

编程语言 –> 编译器 –> 机器语言(二进制)

翻译器翻译的方式有两种,一个是编译,另一个是解释,区别:翻译的时间点不同.

  • 编译是在代码执行前进行编译,生成中间代码文件
  • 解释是在代码运行过程中及时解释,并立即执行

标识符:开发人员为变量 属性 函数 参数 取的名字. 标识符不能是关键字或者保留字

  • 关键字: JS中已经使用了的名字,不能再充当变量名,方法名
  • 保留字: 预留的”关键字” 未来可能成为关键字
版权声明:本文为Li-Wenwu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Li-Wenwu/p/16251319.html