JavaScript和数据结构——笔记1

本文介绍了JavaScript的基础知识,包括文件引用优化、强类型与弱类型概念、代码输出方法、变量作用域的区分以及数据类型的原始与派生类型。还探讨了delete运算符的使用以及真假值在布尔转换中的表现。通过实例解析了变量在不同作用域内的行为,帮助理解JavaScript的基础语法和执行机制。
摘要由CSDN通过智能技术生成

1、js基础

1.1tip

js文件在head中引用,会在关闭 body 标签前引入JavaScript 代码。这样浏览器就会在加载脚本之前解析和显示 HTML,有利于提升页面的性能。

1.2强类型语言

强类型语言:声明变量时需要指定变量的类型,是类型安全的语言。eg:Python,JAVA

弱类型语言:数据类型可以被忽略的语言。eg:JavaScript

1.3代码输出方式

alert 、console.log、document.write

1.4变量作用域

作用域是指,在编写的算法函数中,我们能访问变量(在使用函数作用域时,也可以是一个函数)的地方。有局部变量和全局变量两种。

让我们看一个例子。

var myVariable = 'global'; 
myOtherVariable = 'global'; 
function myFunction() { 
 var myVariable = 'local'; 
 return myVariable; 
} 

function myOtherFunction() { 
 myOtherVariable = 'local'; 
 return myOtherVariable; 
} 
console.log(myVariable); // {1} global
console.log(myFunction()); // {2} local
console.log(myOtherVariable); // {3} global
console.log(myOtherFunction()); // {4} local
console.log(myOtherVariable); // {5} local

上面的代码可解释如下。

 行{1}输出 global,因为它是一个全局变量。

 行{2}输出 local,因为 myVariable 是在 myFunction 函数中声明的局部变量,所以

作用域仅在 myFunction 内。

 行{3}输出 global,因为我们引用了在第二行初始化了的全局变量 myOtherVariable。

 行{4}输出 local。在 myOtherFunction 函数里,因为没有使用 var 关键字修饰,所

以这里引用的是全局变量 myOtherVariable 并将它赋值为 local。

 因此,行{5}会输出 local(因为在 myOtherFunction 里修改了 myOtherVariable

的值)。

1.5数据类型

原始数据类型:null、undefined、字符串、数、布尔值和 Symbol①。

原始数据类型直接存储在栈(stack)中简单数据段,占据空间小,大小固定,属于被频繁使用的数据,所以存储在栈中;

派生数据类型/对象:JavaScript 对象,包括函数、数组和正则表达式。

引用数据类型直接存储在堆中,占据空间大,大小不固定,如果存储在栈中,将会影响程序运行的性能,引用数据类型在栈中存储了指针,该指针指向堆中该实体的起始地址,当解释器寻找引用值时,会首先检索其在栈中的地址,取得地址后,从堆中获得实体。

image-20210820180149322

delete运算符

var myObj = {name: 'John', age: 21}; 
delete myObj.age; 
console.log(myObj); // 输出对象{name: "John"} 

1.6真假值

数值类型 转换成布尔值

undefined false

null false

布尔值 true 是 true,false 是 false

数 +0、-0 和 NaN 都是 false,其他都是 true

字符串 如果字符串是空的(长度是 0)就是 false,其他都是 true(长度大于等于 1)

对象 true

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值