当前位置:网站首页>js基础知识整理之 —— 全局作用域
js基础知识整理之 —— 全局作用域
2022-08-02 22:49:00 【猴小七儿】
window是个对象
1、在全局作用域下定义的变量,相当于给window增加了一个属性(包含属性名跟属性值)
var str="fg";
console.log(str);//--->fg
console.log(window.str);//--->fg
2、在私有作用域下定义的变量,跟全局没有任何的关系;
function strsun() {
var str="asdfj"
}
没有被var的变量,也是给window增加一个属性名
str="jk";
console.log(str);//--->jk
console.log(window.str);//--->jk
eg:
undefined+200是NaN
null+200是200
eg:
在私有作用域中,如果变量不是私有的,那么它的值往上一级作用域查找;如果上一级也没有,那么继续向上查找,直到找到window为止,如果window下面也没有,那么就会报错


怎和判断是不是私有变量呢?
- 首先看是不是形参(形参肯定是私有变量)
- 再看有没有被var过
- 如果即不是形参也没有被var过 就说明当前这个变量不是私有变量
var obj={
name:"monkey"};
var obj={
ary:[]};
var obj={
aa:{
}};
var ary=[{
name:"monkey"},1,"yyds"];
以上几种情况都是可以成立的 但是要求字符串必须加引号 不加引号JS不认
对象里面的所有属性名都是字符串 属性值 有可能是字符串 有可能不是
练习题01
判断某一个属性名是否属于某个对象,用in方法
var obj={
name:"zhufeng"};
console.log("name" in obj);//-->true 如果没有 打印false
注:如果这个name没加" "引号 打印false
console.log(obj.age);//-->undefined
console.log(a in window);//a is not defined
练习题02
时参必须从自执行函数的外面拿foo hello 时参是入口 所以从外面拿 从时参住里传
(传地址的话 外面也是改变的 传数值的话 只改变里面的)
形参的名字任意取 但是实参不能随便取 必须外面也有
例如
function sum(num) {
}
sum(num)<----- 这个num 在函数外面必须也有一个 要不实参找不到它
|| 条件语句中,有一个是真,当前条件就是true
赋值:
|| 左边转布尔就是true 取|| 左边的值
|| 转布尔是false 取|| 右边的值
例如:var foo=foo||'world';(如果|| 左边的是false 不管右边的是啥 都取|| 右边的)
函数分两部分: 定义 执行
自执行函数:定义加执行一块完成(function (total)){ } 自执行函数本身不进行变量提升,但是在自执行函数执行的时候,里面的代码要进行变量提升
普通函数: function sum(){} 进行变量提升,
sum=xxxfff111 是对这个sum 这个函数的名字 先进行变量提升
边栏推荐
猜你喜欢

Matplotlib drawing core principles explain (more detailed)
思源笔记 本地存储无使用第三方同步盘,突然打不开文件。

精心整理16条MySQL使用规范,减少80%问题,推荐分享给团队

APT级全面免杀拿Shell

mysql根据多字段分组——group by带两个或多个参数

Week 7 CNN Architectures - LeNet-5、AlexNet、VGGNet、GoogLeNet、ResNet

vscode 自定义快捷键——设置eslint

用大白话解释“什么是ERP?” 看完这篇就全明白了

第十章 时序与延迟

【C语言】带头双向循环链表(list)详解(定义、增、删、查、改)
随机推荐
2022暑假牛客多校1 (A/G/D/I)
resubmit 渐进式防重复提交框架简介
Week 7 CNN Architectures - LeNet-5、AlexNet、VGGNet、GoogLeNet、ResNet
脂溶性胆固醇-聚乙二醇-叠氮,Cholesterol-PEG-Azide,CLS-PEG-N3
The CTF command execution subject their thinking
TCP三次握手与四次挥手
RuoYi-App Startup Tutorial
程序员如何优雅地解决线上问题?
合并两个excel表格工具
基于奇异谱分析法和长短时记忆网络组合模型的滑坡位移预测
Apache Doris 1.1 特性揭秘:Flink 实时写入如何兼顾高吞吐和低延时
【斯坦福计网CS144项目】Lab5: NetworkInterface
了解 NFT 质押:Web3 中赚取被动收益的另一种方式
MySql查询某个时间段内的数据(前一周、前三个月、前一年等)
VMware workstation program starts slowly
airflow db init 报错
mPEG-Cholesterol,mPEG-CLS,甲氧基-聚乙二醇-胆固醇可用于脂质体制备
qt静态编译出现Project ERROR: Library ‘odbc‘ is not defined
CAS:1445723-73-8,DSPE-PEG-NHS,磷脂-聚乙二醇-活性酯两亲性脂质PEG共轭物
辅助脚本开发之旅