Day46 前端基础--JavaScript

一,JavaScript初识

  1.ECMAScript和JavaScirpt的关系

    前者是后者的规格,后者是前者的一种实现

  2.JavaScript概述:

    ECMAScript是一个重要的标准,但是它并不是JavaScript唯一的部分,当然,也不是唯一被标准化的部分,实际上,一个完整的JavaScript实现是有以下3个不同部分组成的:

    1.核心:ECMAScript

    2.文档对象模型(DOM):Document object model (整合js,css,html)

    3.浏览器对象模型(BOM):Broswer object model(整合js和浏览器)

    总结:

      ECMAScript描述了JavaScript语言本身的相关内容

      JavaScript是脚本语言,是一种轻量级的编程语言,是可插入HTML页面的编程代码,

插入HTML页面后,可由所有的现代浏览器执行。

二,JavaSript引入方式

  1.script标签内写代码

<script>
    //在这里写JS代码
</script>

  2.引入外部的JS文件

<script src="myscript.js"></script>

三,JavaScript语言规范

  1.注释

//单行注释

/*
多行注释
*/

  2.结束符

/*JS中的语句要以分号";"为结束符*/

四,JavaScript语言基础

  1.变量声明

    JS的变量名可以使用_,数字,字母,$组成2,不能以数字开头。

    声明变量使用var变量名;的格式来进行声明

    注意:

      变量名是区分大小写的

      推荐使用驼峰式命名规则

      保留字不能用做变量名

var name = "alex";
var age = 18;

  2.let声明变量

    用于声明变量,其用法类似于var,但是所声明的变量只在let命令所在的代码内有效。

    例如:for循环的计数器就很适合使用let命令

for (let i=0;i<arr.length;i++){...}

  3.const声明常量

    使用const声明常量,一旦声明,其值就不能改变,常量声明默认使用大写

const PI = 3.1415
PI //3.1415

PI = 3
// TypeError: "PI" is read-only

五,JavaScript数据类型

  1.JavaScript拥有动态类

var x; //此时x是undefined
var x = 1; //此时x是数字
var x = "Alex"  //此时x是字符串

  

  2.数字类型:数值(Number)

    1.JS不区分整型和浮点型,就只有一种数字类型

var a = 12.34;
var b = 20;
var c = 123e5; //12300000
var d = 123e-5 //0.00123

    2.还有一种NaN,表示不是一个数字(Not a Number)

    3.数字类型的常用方法

parseInt("123")  // 返回123
parseInt("ABC")  // 返回NaN,NaN属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。
parseFloat("123.456")  // 返回123.456
parseFloat('123.4567891111111111111111') //返回123.4567891111111,浮点数同样有精度

  

  3.字符串类型(String)

var a = "Hello";
var b = "world";
var c = a+b;
console.log(c);  //等到Helloworld

     字符串的常用方法:

//length():返回长度,空格也会被计算长度
var s1 = 'hello sg';
si.length();   //返回8

//trim():移除空白
var s2 = '  hello ';
s2.trim() //返回'hello'

//trimLeft():移除左边的空白
var s3 = '     hello  '
s3.trimLeft()  //返回'hello  '

//trimRight():移除右边的空白
var s4='    hello  '
s4.trimRight() //返回'     hello'

//charAt(n):返回第几个字符
var s5 = 'hello sg';
s5.charAt(0); //返回'h'
s5.charAt(100); //返回''
s5.charAt(4); //返回'o'

//concat(value,...):拼接
var s6 = 'hello';
s6.concat('哈哈'); //返回'hello哈哈'

//indexOf(substring,start):substring参数:子序列的值,开始查找的位置,返回子序列位置
var s7 = 'hello sg';
s7.indexOf('sg')  //返回6
s7.indexOf('sg',4)  //返回6
s7.indexOf('sg',7) //不存在就返回-1
s7.indexOf('sg',8)  //不存在就返回-1

//substring(from,to):根据索引获取子序列,顾首不顾尾
var s8 = 'hello sq';
s8.substring(0,5);  //返回'hello'
s8.substring(0,-5); //返回"",不支持倒序

//slice(start,end):切片,顾首不顾尾
var s9 = 'hello sq';
s9.slice(0,5); //返回'hello'
s9.slice(0,-5) //返回''hel",支持倒序

//toLowerCase():转换为小写
var s10 = 'Hello sg';
s10.toLowerCase(); //返回'hello sq'

//toUpperCase():转换为大写
var s10 = 'Hello sg';
s10.toUppercase(); //返回'HELLO SG'

//split(delimiter,limit):分割,分割的第二个参数指的时返回结果的长度
var s11 = 'hello sq';
s11.split(' ') //返回(2) ['hello','sg']
s11.split(' ',1) //返回['hello']
s11.split(' ',2) //返回(2)['hello','sg']
s11.split(' ',3) //返回(2)['hello','sg'] 
string.slice(start, stop)和string.substring(start, stop):

两者的相同点:
如果start等于end,返回空字符串
如果stop参数省略,则取到字符串末
如果某个参数超过string的长度,这个参数会被替换为string的长度

substirng()的特点:
如果 start > stop ,start和stop将被交换
如果参数是负数或者不是数字,将会被0替换

silce()的特点:
如果 start > stop 不会交换两者
如果start小于0,则切割从字符串末尾往前数的第abs(start)个的字符开始(包括该位置的字符)
如果stop小于0,则切割在从字符串末尾往前数的第abs(stop)个字符结束(不包含该位置字符)

    拼接字符串一般使用"+"

//字符串拼接
var a1 = [4,3,2,1]
a1.join('+') //返回"4+3+2+1"

    模板字符串

    注意:如果模板字符串中需要使用反引号,则在其前面要用反斜杠转义

//模板字符串
var name = '帅哥';
var s2 = '${name} gay in gay out!}';
s2 //返回''帅哥 gay in gay out!"

  4.布尔值(Booleam)

  注意:0,null,'',undefined,NaN都是false

//js的布尔值都是小写
var a = true;
var b = false;

  

  5.null和undefined

    null:表示值为空,通常都是手动赋值

    undefined:表示值只声明没有赋值

           函数没有指定返回值,默认返回undefined

  6.object(对象)

    JS中的所有事物都是对象:字符串,数组,数值,函数...此外JS允许自定义对象

    JS提供多个内建对象,比如String、Date、Array等等

    对象只是带有属性和方法的特殊数据类型

    1.Array:数组

      var a1 = [11,22,33]

    2.自定义对象

      var o = {'name':'alex','age':18}

    

猜你喜欢

转载自www.cnblogs.com/lianyeah/p/9779079.html