JavaScript学习笔记:Day1

  1. javaScript的历史:

引用:“JavaScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与SelfScheme较为接近。”

JavaScript与ECMAScript的关系:

ECMAScript是JavaScript的标准,JavaScript是ES的实现和扩展,在日常生活中这两个词是可以交换的。

JS是什么?

js是一种嵌入到HTML页面中的编程语言,是一种脚本语言,在浏览器中一边解析一边运行,不能够单独的运行。

JS的注释:

  • 单行注释 //
  • 多行注释 /*       */
    //var a = 1;      //是单行注释的意思
    
    
    /* var b = 1;
       var c = 1;
       var d = 1;
    */
                        /*内容*/ //是多行注释的意思

 JS的引入方式:

  1. 外部引入:
    <script src="" type="text/javascript" charset="utf-8"></script> 
    //""引号里面填js的路径
    
    //我们尽可能的把外部的js文件放在页面的最底部,
    //因为js可能在DOM操作的时候会找不到元素进行报错。
  2. 内部js:

    <script type="text/javascript">
    			//代码块。
                //在HTML使用<script>标签使用js
    </script>
    
    

元素事件JS

<button type="button" onclick="alert('hello world')">点击</button>

输出方式: 

  • console.log()    ------------控制台输出。
  • alert()   ------------页面弹窗提示。全称window.alert()
  • console.dir()  ------------ 可以在控制台查看原始属性
  • console.table() ------------ 可以在控制台输出成表格
  • document.write() ------------写入HTML输出
  • document.writeln() ------------换行输出
  • innerHTML   ------------ 可以设置或获取文本内容和标签
  • innerText ------------可以设置和获取文本内容

JS变量:

在JS中,变量的值是一个可以改变的量,也就是说变量的值在程序的运行中是可以改变的。

变量的声明方式:var。

变量的命名:命名不能使用JavaScript中的关键字、保留字;

常用的一些关键字和保留字:var,null,this,true,false,try,if,for,array,object,void,default,case,break,in,class,float,long,int等;

var myName;  //声明了一个变量叫做myName;
var _name;
var $name;
var $_name123;

变量的使用:

var 变量名 = 值 ; 等于符号表示的赋值

用一个var 来声明多个变量,每个变量之间用逗号(,)隔开。

var  a = 10;  
//将10赋值给变量a  a表示变量名, 
//=等于符号表示赋值符, 
//10表示赋值。 
//分号;表示结束
var b,c,d,e,f;

PS:声明提前(变量提前)

JavaScript编译器会把变量声明看作两个;

  1. 声明操作
  2. 赋值操作
var a = 10;  //其实是下面这些
var a;    //先声明a这个变量  声明操作
a = 10;    //然后在赋值给a=10;    赋值操作

常量:const

        常量值是一个不能改变的量,也就是说const的值从一开始就固定了,一直到程序运行结束都不允许改变。

const a = 1;   //const 常量名 = 值;

数据类型:

  • 基本数据类型:只能有一个值

  1. 数值(number):数字在js中是最基本的数据类型,所谓的数字就是我们数学上使用的数字,js的数字是不区分int(整型),float(浮点型)的。js中只有float用作与计算,所有的数字在js中都是float,数字类型在控制台中一般是蓝色的。
  2.  字符串(String):就是一串字符。在js中字符串都是用英文的双引号或者单引号包括的,字符串类型在控制台中一般是黑色的,来表示字符串。
    var a = "123";
    var b = '123';
    var c = "abc";
  3. 布尔值(Boolean):布尔值只有两个结果  true (真)=1; false(假)=0;
  4. 未定义(undefined):如果我们声明了一个变量但是我们没有对这个变量进行赋值,那么这个变量就是undefined。那种情况下会产生未定义?1、变量声明未赋值,值为undefined,2、变量直接赋值undefined。3、函数没有返回值、4、函数参数为传入实际值,参数值为undefined.5、对象属性定义未赋值,对象属性值为undefined。
  5. 空值(null):null是一个对象,字符串和数字等数据类型在定义的时候,系统会分配一定的空间内容,但是null 不好,表示系统没有给这个变量分配空间。
  6. symbol:Symbol本质上是一种唯一的标识符,可以用作对象的唯一属性名,这样其他人就不会改写或者覆写你设置的属性值。(ps:这个是es6里面的)
  7. 对象 (object)
  8. 函数 (function)

引用数据类型

可以包含多个值

  1. 数组(Array)
  2. 对象(Object)
  3. 函数(function)

 获取数据类型:

	        var a = 10;
			var b = "abc";
			var c =[1,2,3];
			var d = true;
			var e;
			var f = null;
			console.log(typeof(a))
			console.log(typeof(b))
			console.log(typeof(c))    //typeof(变量 名)
			console.log(typeof d)
			console.log(typeof e)
			console.log(typeof f)   //typeof 变量名

 

 扩展:

        js最初是32位系统,0表示对象000;null被typeof输出object严格意义上是不正确的,但是这只是JS存在的历史悠久BUG.在JS的最初版本中使用的是32位系统,为了性能考虑,使用低频存储变量的类型信息,000开头表示对象,然而null表示为全零,所以他错误的判断为Object.虽然现在内部类型判断代码已经改变了,但是这个bug却一直流传了下来。     PS2:原始类型存储的值是没有函数可以调用的,例如undefind.toString()

运算符:

  1. 算数运算符:+(加)-(减)*(乘)/(除)%(取模/求余)++(自增)--(自减)i++表示在原来的值得基础上+1,指的是使用i之后再让i的值+1;++i表示在原来的指的基础上+1,在使用i之前先让i加1;自增和自减同理。
  2. 赋值运算符:
  • =(赋值符):var a = 1;
  • += :var a += b; 等价于var a = a+b;
  • -=:var a -= b; 等价于 var a = a-b;
  • *=:var a *=b;等价于 var a = a*b;
  • /= :var a /=b;等价于 var a = a/b;

      3. 比较运算符:

  • >(2>1  return true)
  • <(2<1  return false)
  • >=(2>=1 return true)
  • <=(2<=1 return false)
  • ==(2==2 return true)(1=="1" return true)这个是不严格的相等(不用判断数据类型)
  • ===(2===2 return true) (1==="1" return false)这个是严格的相等(需要判断数据类型)
  • != (2!=1 return true)(2!="2" return false)不严格的不相等
  • !==(2!==2 return false)(2!=="2" return true)严格的不相等

       4. 逻辑运算符:

  • &&与(并且)      (真&&真  = 真     真&&假 = 假     假&&假 = 假      假&&真 = 假)
  • | | 或(或者)         (真||真 = 真     真||假 = 真     假||假 = 假    假||真 = 真)
  • !非(取反)        (!真  = 假    !假 = 真)

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

  • ?(条件运算符)
  • 单条件:var a = 条件? 表达式1:表达式2;表达式1在条件为true的时候触发,表达式2在条件为false的时候触发。
  • 多条件:var a = 条件1? 表达式1:条件2?表达式2:条件3?表达式3:表达式4;(当条件1为true的时候触发表达式1,否则触发条件2,当条件2为true的时候触发表达式2,否则触发条件3,当条件3为true的时候触发表达式3,否则触发表达式4

 数据类型的转换:

  1. 数据类型的转换指的将一种数据类型,转换成另一种数据类型。
  2. 为什么我们需要数据类型的转换?(比如:input的value的值都是string,但是我们有时候需要做计算,那么我们就需要把string转换成number)
  •  JavaScript一共有两种类型转换:
  1. 隐式类型转换:只要是字符串和数字相加永远都是数字类型转成字符串类型。但一个数字类型除开相加其他的都会将字符串类型转换成数字类型。undefined不能转换成任何东西,null可以转换成数字0,true转成1,false转成0;NaN表示这不是一个数字
  2. 强制(显式)类型转换:
  • Number()把任意值转换成数字,如果转换的一个字符串中包含不是数字的字符则返回NaN
  • toString()toString不能强制转换null和undefined。讲任意值转换成字符串类型。
  • String()将任意值转换成字符串类型。
  • parseInt()把一个字符串里面的数值转换成整型,一开始如果是字母则转换成NaN,中间出现字母则转换前面是数字的一段。
  • parseFloat()把一个字符串里面的数值转换成浮点型,开头不能是字母,否则NaN。
  • Boolean()把一个数转换成布尔值(0,null,空字符串,undefined,NaN都会转换成False,其他的都是true)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值