1、脚本标签

1) 可以通过<script> 标签将javaScript 代码添加到页面中 (type 和language 属性不是必须的)

2)外部的脚本可以通过 <script src="path/*.js" > </script> 这种方式插入

示例1:

<!DOCTYPE HTML>
<html>
<body>
<p>script 标签之前...</p>
<script>
alert('Hello, world!');
</script>
<p>...script 标签之后</p>
</body>
</html>

示例2:

js 文件 和html分开

//js代码 js文件名位hello.js 路径位 path/hello.js
alert('hello') html代码
<!DOCTYPE HTML>
<html>
<body> <script src="path/hello.js"> </script> </body> </html>

2、代码结构

语句:语句是执行操作的语法结构和命令

分号:多数情况下,当一个分行符(line break) 存在时, 分号可以省略

alert('hello')
alert('world')
//此处 JavaScript 将分行符解释成“隐式” 的分号。这也被成为自动分号插入

不被解释成分号的例子

alert(3+
1
+3);
//1后面不会被解释成分号

错误举例

alert("There will be an error") //此处无分号
[1,2].forEach(alert)
//这样会运行错误, 因为javascript 不会在 [] 前自动加隐式分号
alert("this is right");
[1,2].forEach(alert)
//运行正确

注释

//这样是单行注释

/* 这样是多行注释
注意多行注释不能嵌套多行注释
*/

3、现代模式,“use strict"

  ”use strict" 指令将浏览器引擎转换位“现代模式”

  严格模式通过将“use strict" 放置在整个脚本或函数的顶部来启用一些新语言特性诸如 “classes” 和 “modules” 也会自动开启严格模式。

  所有浏览器支持现代模式

4、变量

  变量的作用是用来存储信息;

  声明变量的方式 通过 var 、let 、const

  var 是旧时的命名方式;let 为新时代的命名方式;差别放在以后介绍。

  const 用来定义常量,此关键字定义出来的常量不可更改

  变量命名规则:1、变量名称必须仅包含字母,数字,符号 $_。2、首字符必须非数字。

  示例

let name1="xiaoming";
let _ ="xiaohong";
let $="xiaozhang";
//以上命名都是正确的
let 123Name="test" //此处命名是错误的
const MAX =1000; //
MAX=2;//错误,const 定义的值是不可更改的
//不能使用关键字当做变量名 let var ="2" //错误 //变量命名 一定要规范,规范的命名方式可以提高代码的可读性

5、数据类型

  javaScript 拥有数据类型,但是变量并不限于数据类型中的任何一个。即javaScript 语言称为“动态类型“ 编程语言。

示例:let messgae="hello";   message=123465;

  JavaScript 中有七中基本的数据类型

  number 用于任何类型的数字:整数或者浮点数。

    Infinity 最大值 得到方式任何数除以0  alert(1/0) ;//Infinity 或者alert(Infinity)

    NaN  代表计算错误  并且具有粘性  一步出错,最终结果都为NaN  alert("string"/2);//NaN

  string 用于字符串。一个字符串可以包含一个或者多个字符,所以没有单独的单字符类型

    

  在 JavaScript 中,有三种包含字符串的方式。

    1. 双引号: "Hello".
    2. 单引号: 'Hello'.
    3. 反引号: `Hello`.

  

  boolean 用于true 和 false。

  null 用于未知的值          只有一个null 值的独立类型

  undefined 用于未定义的值-------只有一个undefined 值的独立类型

  object 用于复杂的数据结构

  symbol 用于唯一的标识符

  typeof 运算符可以查看变量的类型

  两种形式 typeof x 或者 typeof(x)

  返回的类型的字符串,比如“string"

  nul 返回”object" --------这是语言中的一个错误,实际上它并不是一个对象。

  typeof运算符示例:

  

6、类型转换

  三种常见类型转换:转换为string 类型;转换为 number 类型; 转换 为boolean 类型

  ToString:输出内容时转换发生,或通过 String(value) 进行显式转换。原始类型值的 string 类型转换通常是很明显的。

  ToNumber:进行算术操作时转换发生,或通过 Number(value) 进行显式转换。

  ToNumber 转换遵循一下规则

  

  ToBoolean:进行逻辑操作时转换发生。或通过 Boolean(value) 进行显式转换。

  ToBoolean 遵循以下规则

  

  注意事项:

  • undefined 进行 ToNumber 时变成 NaN,而非 0
  • "0" 和只有空格的字符串(比如:" " )在进行 boolean 转换时变成 true

javascript 基础知识汇总(一)的更多相关文章

  1. JavaScript基础知识汇总

    1. 图片热区: <img src="logo.jpg" usemap="#logo"> <map id="logo" n ...

  2. javaScript 基础知识汇总(三)

    1.循环:while 和 for while 循环 while(condition){ //代码 循环体 } do ... while  循环 let i =0; do { //循环体 }while( ...

  3. javaScript 基础知识汇总(六)

    1.基本类型与对象的区别 基本类型:是原始类型的中的一种值. 在JavaScript中有6中基本类型:string number  boolean  symbol  null  undefined 对 ...

  4. javaScript 基础知识汇总(五)

    1.垃圾回收 JavaScript 的内存管理是自动的,不能强制执行或者阻止执行 可达性 JavaScript中主要的内存管理概念是可达性. 什么是可达性? 定义一个对象 let user = { n ...

  5. javaScript 基础知识汇总(二)

    1.运算符 术语或者叫法:一元运算符.二元运算符.运算元(参数) let x=0; x=5+2; //5和2为运算元,“+” 为二元运算符: x=-x; //"-" 为一元运算符 ...

  6. javaScript 基础知识汇总 (十三)

    1.Class 在JavaScript中 calss即类是一种函数 基本语法 class Myclass{ constructor(){} method1(){} method2(){} method ...

  7. javaScript 基础知识汇总(七)

    1.数组 特点:数组是可以存储有序集合的对象. 声明: let arr = new Array();   let arr=[]; 大多数情况下我们使用第二种. let fruits = [" ...

  8. javaScript 基础知识汇总 (十)

    1.New Function 语法:let func = new Function ([arg1[, arg2[, ...argN]],] functionBody) //无参数示例: let say ...

  9. javaScript 基础知识汇总 (十一)

    1.柯里化和偏函数 偏函数 假如一个函数有两个参数,然后第一个参数我们调用的时候是确定的,那么我门就可以创建一个偏函数来简化参数传递的问题 示例 function mul(a,b){ return a ...

随机推荐

  1. Dubbo源码学习之-Adaptive自适应扩展

    前言 最近三周基本处于9-10-6与9-10-7之间,忙碌的节奏机会丢失了自己.除了之前干施工的那段经历,只看参加软件开发以来,前段时间是最繁忙的了.忙的原因,不是要完成的工作量大,而是各种环境问题, ...

  2. rabbitMQ_workQueue(二)

    生产者发送多个消息到队列,由多个消费者消费.   如果一个消费者需要处理一个耗时的任务,那么队列中其他的任务将被迫等待这个消费者处理完成,所以为了避免这样的情况,可以建立对个消费者进行工作. 本例中使 ...

  3. $.ajax()在IE9下的兼容性问题

    最近在主导一个项目,遇到了一点问题,跟大家分享一下. 最终bug解决方案的链接地址:http://stackoverflow.com/questions/5241088/jquery-call-to- ...

  4. python交互界面无法使用方向键

    问题 python交互界面无法使用方向键,按方向键全变成^[[^C这类型的字符 解决办法 办法1: 使用yum安装readline.readline-devel,然后重装python 这种方法太麻烦了 ...

  5. 你可能不知道的Docker资源限制

    What is 资源限制? 默认情况下,容器是没有资源限制的,它会尽可能地使用宿主机能够分配给它的资源.Docker提供了一种控制分配多少量的内存.CPU或阻塞I/O给一个容器的方式,即通过在dock ...

  6. 记一次idea问题—performing vcs refresh...

    01.前言 本人出现该场景是,我把本地SVN A项目删了,而A项目与B项目同在一个SVN目录下,当我修改B项目且提交代码时,出现了该问题. idea不是很懂操作,就搜索了一下得出了三种答案,但只有其一 ...

  7. ASP.NET Core Web Api之JWT刷新Token(三)

    前言 如题,本节我们进入JWT最后一节内容,JWT本质上就是从身份认证服务器获取访问令牌,继而对于用户后续可访问受保护资源,但是关键问题是:访问令牌的生命周期到底设置成多久呢?见过一些使用JWT的童鞋 ...

  8. Something wrong with EnCase v8 index search results

    My friend told me that she installed EnCase v8.05 on her workstation which OS version is Win 10. She ...

  9. Linux服务部署Yapi项目(安装Node Mongdb Git Nginx等)

    Linux服务部署Yapi 一,介绍与需求 1,我的安装环境:CentOS7+Node10.13.0+MongoDB4.0.10. 2,首先安装wget,用于下载node等其他工具 yum insta ...

  10. 伪分布式Spark + Hive on Spark搭建

    Spark大数据平台有使用一段时间了,但大部分都是用于实验而搭建起来用的,搭建过Spark完全分布式,也搭建过用于测试的伪分布式.现在是写一遍随笔,记录一下曾经搭建过的环境,免得以后自己忘记了.也给和 ...