初识Javascript 总结 基础知识 心得体会

什么是Javascript?

  • 简称JS ,是一种区别于之前学过的HTML,CSS的语言,一种脚本语言,是高级编程语言的一种。

JS的三种写法

  • 同之前学过的CSS相似

① js写在html中,当然需要写在script标签中 (内部写法)
② js单独放在JS文件中,通过script标签引入,做项目时通常这样引用,增强可维护性 (外部写法)
③ js写在开始标签中,当成开始标签的属性。(行内写法)

JS中的变量

变量:变量就是内存中的一个空间
变量名:变量名就是内存空间的一个别名,即对变量名的操作就是对内存空间的操作
变量值:变量值就是存储在内存空间中的状态(数据)
如:var a = 100;//定义变量a,变量值为100

变量的分类

一、全局变量 (所有代码块都可适用)
二、局部变量 (在确定的某一段代码块适用 如某个函数内)

综上:只要在函数中定义的就是局部变量,函数外定义的就是全局变量
同时,如果没加 var let const 等来定义变量,无论在哪都是全局变量
`a = 10; //当然这种一般不建议使用

JS的基本语法

① JS区分大小写 (true和True不同 var a = 1;和 var A = 1;不同
② 忽略空白符 (空格、换行等)
③ 语句分号可加可不加 (当然 建议都加上)
④ 注释 (单行注释 // 多行注释 /* */)
⑤ 标识符和关键字 var a = 666; var 关键字 a 变量名标识符

JS中的数据类型

  • 为更加合理的使用内存空间,提出数据类型的概念,针对不同的内存空间分配不同的数据类型

五种基本数据类型:
1.number 数值 无整数小数区分;
2.boolean 布尔类型 只有true和false
3.string 字符串类型 “ ” 不区分字符和字符串 都称为字符串
4.undefined 没有值
5.null 没有值
引用数据类型(复杂数据类型):
object 对象 包括 Array 数组 function函数 在JS中都是数据类型

JS中数据类型的详细介绍

  • number数据类型

1.number 数据类型,对应的值无数个
2.JS中 number 数据类型不分整数、小数,都是number
3.可以通过typeof 查看一个变量值的数据类型
4.最大值和最小值 console.log(Number.MAX_VALUE)console.log(Number.MIN_VALUE)
5.number 可以通过不同进制显示 10进制 8进制 16进制 2进制
6.NAN not a number 不是一个数字
7. JS中不能对小数进行运算,要先转换成整数 ,否则得到的结果往往不对

  • boolean数据类型

1.boolean数据类型对应的值就两个 true 和 false
2.注意区分大小写,true和 True 不同

  • string 数据类型

1.在JS中使用 “ ” ’ ’ 把字符串包起来,不包起来JS 会把它当成变量
2.单引号不要嵌套单引号,双引号不要嵌套双引号,可以外双内单,外单内双。
3.string 数据类型对应数据无数个

  • undefined数据类型

1.undefined 是一个数据类型,这种数据类型对应的值是undefined
2.出现undefined的时候 ①变量没有赋值 ②函数没有返回值

JS中数据类型转换

  1. 隐式类型转换 (自动转换)
  2. 强制类型转换 (被动转换)
  3. JS中0 “ ” undefined null这些值转换为false

故:在JS中,运算符两侧需要保存数据类型一致,如果不一致,JS解释器会进行数据类型转换 需要注意的是 1>2 没有类型转换;" >"是一种关系运算符,返回值就是布尔值!

JS代码在执行时分两个阶段

1.预编译
对 var 定义的变量进行提升,变量声明会提升,变量赋值不会提升,提升到代码段的最前面
在使用function声明的函数进行提升,提升的是整个函数声明
2.代码执行
代码执行时一行一行的执行

初步了解执行上下文

  • 执行上下文( Execute Context): 简称EC
  • EC的作用:给代码提供数据
    代码分两类:
    全局代码 函数外面的代码叫全局代码
    函数代码 一个函数就是一个局部代码

全局执行上下文:
全局代码在执行时时,就会产生全局的ECEG(G) 局部执行上下文:
函数代码在执行时,就会产生局部的EC。调用一个函数就产生一个EC,调用100个函数,就产生100个EC
EC栈:
:杯子
每产生一个EC就会放到杯子中,说白了,就是杯子中放鸡蛋。
:先放进去的后出来

加var的变量和没有加var的变量的区别

1)在全局代码中,加var会提升,没有var的不会提升

console.log(a);
a = 110;  // a is not defined

2)不管加没加var的全局变量,都会作为window的属性

var a = 1;
b = 2;
console.log(window.a)
console.log(window.b)

3)没有加var的变量,只能作为全局变量,只要是全局变量,肯定是window的属性

function f() {
      
     a = 666;
}
f()
console.log(window.a)

4)加var的局部变量,不会作为window的属性

function f() {
      
var a = 666;
}
f()
console.log(a)
//访问一个对象上不存在的属性,结果就是undined
console.log(window.a) // undefined

了解函数

  • 函数是任何编程语言都有概念
  • 在JS中定义函数有两种形式:

函数定义:
函数定义 f叫函数名 ()是函数特有的标识 {} 叫函数体
定义 = 声明 + 赋值
函数表达式
例如:
var fun = function(){
console.log(“Hello”);
}
fun();
将一个匿名函数赋值给变量。这时,这个匿名函数又称函数表达式,因为赋值语句的等号右侧只能放表达式。

数据存储类型

  • 内存分堆内存和栈内存
  • 在JS中,基本数据类型存储在栈中 引用数据类型存储在堆中
 function f(a) {
     
        // a是函数内部的局部变量
   console.log(a) // 111
}
f(111); // 函数调用的过程就是给形参赋值的过程
 console.log(a); // a is not defiend
    

你可能感兴趣的:(学习心得,JS基础,JS初步总结,javascript,js,字符串)