一、JS概述

  1.什么是JS?

    是一种基于对象和事件驱动的客户端脚本语言;

    运行环境:浏览器(通过浏览器解释执行)

  2.JS产生于哪一年,哪个公司,是谁?第一个名字是什么?

    1995年,网景公司、布兰登、liveSpcript

  3.W3C第一个标准是什么?

    ECMA-262

  4.JS包含哪几部分?

    1)ECMAScript

    2)DOM

    3)BOM

二、页面中如何引入JS?

  1.行内引入脚本(事件)(不推荐)

  2.内部引入脚本<script></script>

  3.外部引入脚本<script src="index.js"></script>

  注:外部引入时,script标签中尽量不要写任何内容,如果写了,也不会执行

三、JS中有哪些输出方法?

  1.alert():以警告框的方式输出,执行到alert是,会中断后面程序的执行(一次只能输出一个值)

  2.document.write():输出在页面中,会影响到页面的布局

  3.console.log():输出在控制台中,不会影响用户体验,是程序员最常用的排错工具,他可以输出对象的详细信息(可以输出多个值)

  注:JS输出方式注意的事项

    如果输出的是字母或者中文,用引号包起来,引号可以是单引也可以是双引;

    如果输出的是数字,引号可加可不加;

    如果输出的是变量,一定不能加引号;

    如果输出的有字符串和变量,字符串和变量之间用+号进行连接

四、如何换行?

  页面中换行:<br>

  JS中换行:\n

  扩展:转义字符 \

     \t :空格(8格)相当于键盘上的tab

五、注释

  //单行文本注释

  /*多行文本注释*/

六、JS中数据类型有哪些?

  基本数据类型:Number(数值) String("字符串" '字符串') Boolean(true,false)

  特殊数据类型:null(对象为空) undefined(基本数据类型为空)

  复合数据类型:Object(对象)

七、标识符的命名规则有哪些?

  1.命名中只能包含字母、数字、下划线、$、中文(不推荐)

  2.不能以数字开头

  3.不是保留数字或关键字

  4.具有相关含义,语义化命名

  5.驼峰式命名

    大驼峰:每个单词的首字母大写的命名方式

    小驼峰:出第一个单词的首字母小写,其余每个单词的首字母大写的命名方式

  6.匈牙利命名法:

    int     iNum

    float  fNum

        boo

    字符串 str

    char  ch

    Object obj

    function  fn

八、什么是变量与常量?

  1.变量:在内存中开辟一块空间,用于存储数据,在程序运行的过程中,这个数据有可能发生变化,所以称为变量

  2.常量:永恒不变的量

九、如何声明变量?

  1.显式声明:var 变量名 = 3,变量名1,变量名2...;

  2.隐式声明: 变量名 = 5 ;

十、如何给变量赋值?

  1.初始化变量(给变量赋初值):声明变量的同时,给他赋值

  2.先声明,后赋值

十一、运算符

  1.递增递减运算符

    ++  --

    逻辑思想:从左到右计算,先遇到变量,则先取变量的值参与其他运算,然后再自增或自减1;如果先遇到++或--,则先将变量中的值+1或-1,再参与其他运算

  2.算术运算符

    * :乘

      逻辑思想:

      1)Number类型之间的相乘,正常运算

      2)Number/String 与String相乘,先将String类型转化为Number类型,再相乘;如果是数字字符串可以正常转为数字;如果是含有非数字的东西,转换失败,转换成了NaN,乘NaN结果都是NaN

      3)true:1 false:0 null:0再计算

      4)undefined/NaN,结果为NaN

    /:除

      逻辑思想:同乘法

      注:非0的数/0:infinity(无穷尽);0/0:NaN

    %:模(取余)

      逻辑思想:同乘法

    -:减

      逻辑思想:同乘法

    +:加

      逻辑思想:1.如果加号两边有字符串,则起连接作用,连接成新的字符串;

           2.除第一条以外,true:1;false:0;null:0

           3.除第一条以外,underfined NaN 结果都为NaN

  3.关系运算符

    > : 大于 < : 小于 >= : 大于或等于 <= : 小于或等于

      逻辑思想:1. Number之间比较,正常比

           2. Number与String之间比较,先将String转为Number,再比较

           3. String之间比较: 从左到右依次比较每一个字符

           4. true : 1 false : 0 null : 0 进行比较

           5. undefined/NaN false

    == : 等于 != : 不等于 === 全等(恒等) !== 不全等(不恒等)

      == 和 != : 只比较结果 3 == '3'

      === 和!== : 先比较数据类型,再比较结果 3 === '3'

      切记:console.log(null == 0); //false

         console.log(null == false); //false

         console.log(null == ''); //false

         console.log(null == undefined); //true

         console.log(null === undefined); //false

  4.逻辑运算符(0,false,'',null,undefined,NaN)

    ! : 非

      逻辑思想:非真即假,非假即真

      注:0、false、null、undefined、NaN、" "都为假

    && : 与

      逻辑思想:如果&&左边表达式的值为true时,则返回右边表达式的值

           如果&&左边表达式的值为false,短路,则返回左边表达式的值

    || : 或

      逻辑思想:如果||左边表达式的值为true时,短路,则返回左边表达式的值

           如果||左边表达式的值为false时,则返回右边表达式值

  5.三元运算符(三目运算符、条件运算符)

    格式:表达式1 ? 表达式2 : 表达式3

    逻辑思想:先计算表达式1的值,值为true时,执行?后面的表达式2,值为false时,执行:后面的表达式3

  6.赋值运算符

    1)简单赋值 =

    2)复合算数赋值:+=、-=、*=、/=、%=

    逻辑思想:先取运算符左边变量中的值,然后与运算符右边表达式的值进行相应的算术运算,最后将结果再次赋值给左边的变量。

  7.特殊运算符

    1)typeof :检测数据类型

      console.log(typeof 3); //"number"

      console.log(typeof '3'); //"string"

      console.log(typeof true); //"boolean"

      console.log(typeof false); //"boolean"

      console.log(typeof null); //"object"

      console.log(typeof undefined); //"undefined"

      console.log(typeof NaN); //"number"

      console.log(typeof typeof 3); //"string"

      console.log(typeof typeof 3 + 3 - 4); //NaN

    2)new : 创建对象

  8. 优先级:

    ++ -- ! typeof new

    * / %

    + -

    > < >= <=

    == != === !==

    &&

    ||

    ?:

    = *= /= %= += -=

十二、数据类型转换

  1. parseInt('字符串',整数) : 将以有效数字开头的字符串转为整数,否则转为NaN

  注:第二个参数整数的范围是 2~36 进制

    1)如果省略第二个参数或第二个参数是0时,默认第一个参数是10进制

    2)如果第二个参数 小于2 或大于36时,结果都是NaN

  2. parseFloat() : 强制将以有效数字开头的字符串转为小数,否则转为NaN

  3. Number() : 将所有有效数字字符串转为数字,否则转为NaN;特殊:false转为0,true转为1

  4.Boolean():强制将某个类型转成布尔类型;0、false、null、undefined、NaN、" "都为假

  5.名称.toString():强制将某个类型转成字符串类型;注:不需要参数

  扩展:

  6.isNaN() :判断是否是NaN,如果是,返回true,否则返回false

  7.eval() :解析字符串,并返回表达式的结果

十三、代码规范

  1. 运算符两边各加一个空格

  2. 写在大括号中的语句,要缩近一个tab键

十四、prompt输入对话框

  格式:var name = prompt("请输入一个数","默认值");

  特点:一个输入框,一个确定按钮,一个取消按钮

  拓展:.tofixed(n)保留n位小数

JS学习笔记Day1的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. Vue.js学习笔记(2)vue-router

    vue中vue-router的使用:

  3. JS 学习笔记--9---变量-作用域-内存相关

    JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...

  4. WebGL three.js学习笔记 使用粒子系统模拟时空隧道(虫洞)

    WebGL three.js学习笔记 使用粒子系统模拟时空隧道 本例的运行结果如图: 时空隧道demo演示 Demo地址:https://nsytsqdtn.github.io/demo/sprite ...

  5. WebGL three.js学习笔记 法向量网格材质MeshNormalMaterial的介绍和创建360度全景天空盒的方法

    WebGL学习----Three.js学习笔记(5) 点击查看demo演示 Demo地址:https://nsytsqdtn.github.io/demo/360/360 简单网格材质 MeshNor ...

  6. WebGL three.js学习笔记 创建three.js代码的基本框架

    WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的 ...

  7. vue.js 学习笔记3——TypeScript

    目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...

  8. 2019-4-29 js学习笔记

    js学习笔记一:js数据类型   1:基本数据类型       number类型(整数,小数)      String类型          boolean类型        NaN类型其实是一个nu ...

  9. 一点感悟:《Node.js学习笔记》star数突破1000+

    写作背景 笔者前年开始撰写的<Node.js学习笔记> github star 数突破了1000,算是个里程碑吧. 从第一次提交(2016.11.03)到现在,1年半过去了.突然有些感慨, ...

随机推荐

  1. python---dict字典

    Python 字典 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式 ...

  2. excel if判断时间段早晚班

    =IF(OR(HOUR(B3)={9,10,11,12,13,14,15,16,17,18}),"早班","晚班")

  3. [转] Android开发者必备的42个链接

    下面收集了42个帮助大家学习Android的内容链接,部分内容是面向初学者的,帮助大家从头开始学习Android开发,其他则面向较高级的开发者.希望推荐的这些内容对你有帮助. 官方网站 1.谷歌And ...

  4. 多线程报表生成其中报表以pdf形式保存

    设计思路采用生产者消费者模式,生产者生产报表消费者消费报表生成pdf文件其中报表以html形式存储在线程安全列表中.使用到技术有:多线程协作,线程池,线程安全,html 生成pdf. 一.生产者生成h ...

  5. WinForm控件小知识

    1.DataGridView控件显示自定义表 //造个数据表 DataTable dt = new DataTable(); dt.Columns.Add("DEcode", Sy ...

  6. 如何去掉textarea右下角的灰色角标?

    在css中定义: resize: none; ,这个样式同时禁用textarea调整大小

  7. uva 10976 Fractions Again(简单枚举)

    10976 Fractions Again It is easy to see that for every fraction in the form 1 k (k > 0), we can a ...

  8. Oracle11g R2学习系列 之八高级数据类型

    所谓的高级数据类型,就是大数据类型,即BCNB(助记词:BC牛逼)+XML数据类型. B:blob,用来存储可变长度的二进制数据. C:clob,主要用来存储可变长度的字符型数据,也就是其他数据库中提 ...

  9. SQL Server 2016 快照代理过程分析

    概述 快照代理准备已发布表的架构和初始数据文件以及其他对象.存储快照文件并记录分发数据库中的同步信息. 快照代理在分发服务器上运行:SQLServer2016版本对快照代理做了一些比较好的优化,接下来 ...

  10. 主线程中也不绝对安全的 UI 操作

    从最初开始学习 iOS 的时候,我们就被告知 UI 操作一定要放在主线程进行.这是因为 UIKit 的方法不是线程安全的,保证线程安全需要极大的开销.那么问题来了,在主线程中进行 UI 操作一定是安全 ...