当前位置: 首页 > news >正文

网站建设谢词网页设计与制作教程

网站建设谢词,网页设计与制作教程,网页游戏网站建设,佛山外贸网站建设价位js不会检查任何参数类型,任何参数都可以作为参数传递 1、对象参数 改变量随便改,改对象要看这个对象是不是有多个变量同时指向这个对象 const 用来定义常量,只能赋值一次。 变量------->对象------->属性 被const修饰的对象 …

js不会检查任何参数类型,任何参数都可以作为参数传递

1、对象参数

改变量随便改,改对象要看这个对象是不是有多个变量同时指向这个对象

const 用来定义常量,只能赋值一次。

                                       变量------->对象------->属性

被const修饰的对象              不能改         可以改

使用对象作为参数

设置默认对象的参数,定义以对象为参数的函数

第一种情况,不传参数调用函数

function fn2(a={name:"沙和尚"}){console.log("a=", a)a.name = "唐僧"console.log("a=",a)
}fn2()
fn2()

结果:

 说明无参数调用时候,每次调用都会创建一个对象

第二种传已有的对象作为参数

let obj = {name:"孙悟空"}function fn2(a={name:"沙和尚"}){console.log("a=", a)a.name = "唐僧"console.log("a=",a)
}fn2(obj)
fn2(obj)

结果:

 说明传现有对象进去时候,不会再创建新的对象

2、函数参数

因为万物皆是对象,函数也是。既然函数能传对象参数,那么也能传函数参数

所以

const a= (b) => {console.log("b=",b)
}const c= () => {console.log("我是c函数")
}a(c)

结果:

 相当于我们把函数作为参数传递到了a函数里,如果不清晰,我们也可以把打印语句换成调用作为参数的函数

const a= (b) => {// console.log("b=",b)b()
}const c= () => {console.log("我是c函数")
}a(c)

 结果:(可以看到c函数被a调用了)

复习箭头函数:

形式:()=> {}

函数表达式形式:const a = () => {}  

箭头函数的参数当且仅当只有一个参数时候,可以省略括号(不推荐,知道即可)

 箭头函数的代码块里如果只有一条语句的时候,可以省略大括号(不推荐,了解即可)

函数返回值小小说一下,因为js没有类型,所以直接在函数里面return

并且注意:在JS中任何值都可以作为返回值使用(包括对象和函数之类)

如果return后面不跟任何值,则相当于返回undefined

如果不写return,函数的返回值依然是undefined

return一旦执行,函数立即结束(这个不用说hh)

const a=()=>{return "hello"
}let b = a()
console.log(b)

结果:

 因为箭头函数的返回值可以直接写在箭头后面,所以我们可以继续简化

const a=()=>"hello"let b = a()
console.log(b)

结果是一样的:

 但是这种省略会出现问题,当希望返回的是对象的时候,对象定义的外面两个大括号会被识别为定义函数的大括号从而被识别为普通函数的代码块,如:

const a=()=> {name:"这是一个对象"}let b = a()
console.log(b)

结果是undefined: 

那要怎么解决呢,我们再对象外面再加一对圆括号就可以了

const a=()=> ({name:"这是一个对象"})let b = a()
console.log(b)

结果:

3、作用域(变量的可见区域)

作用域有两种:

1、全局作用域

     -全局作用域在网页运行时候创建,在网页关闭时消耗

     -所有直接编写到script标签中的代码都位于全局作用域中

     -全局作用域中的变量是全局变量,可以在任意位置访问

2、局部作用域

     - 块作用域 

         -块作用域是一种局部作用域

         -块作用域在代码块执行时创建,代码块执行完毕它销毁

         -在块作用域中声明的变量是局部变量,只能在块内访问,外部无法访问。

作用域链:

         -当我们使用一个变量时,

              JS解释器会优先在当前作用域中寻找变量,

                      如果找到了则直接使用

                      如果没找到,则去上一级作用域中寻找,找到了则使用

                      如果没找到,则继续去上一级寻找,以此类推

                      如果一直到全局作用域都没找到,则报错 xxx is not defined 

 

var用来声明变量,作用和let相同,但是var不具有块作用域

          -在全局中使用var声明的变量,都会作为window对象的属性保存

         -使用function声明的函数,都会作为window的额方法保存

        -使用let声明的变量不会存储在window,而存在一个地方

       在局部作用域中(如函数中)没有用var或let声明属性,那么它会自动成为window的属性,也就是全局变量

http://www.15wanjia.com/news/17039.html

相关文章:

  • 深圳宝安做网站的seo是什么意思怎么解决
  • 做物流的网站都有什么作用广告seo是什么意思
  • 做网站需要学会些什么站长工具权重
  • 做网站搜索推广点击率太低怎么办如何解决网站只收录首页的一些办法
  • 房地产楼盘微信网站建设营销方案seo优化教程培训
  • 卖产品的网站怎么做南宁市优化网站公司
  • 哪个网站可以做英语语法题网络营销工具
  • 网站除了做流量还需要什么软件发布广告的平台免费
  • 做门户网站的公司有网站模板怎么建站
  • 网站建设费用上海关键词排名点击软件
  • 广州的一起做网站怎么样百度指数功能模块有哪些
  • 河南省豫建设计院网站合肥seo优化
  • 多语言网站青海网站seo
  • 办公空间设计装修公司优化网站有哪些方法
  • 学做网站论坛实体店引流推广方法
  • 自已做个网站怎么做谷歌三件套下载
  • 网站开发详细设计现在百度怎么优化排名
  • 网站建设规划范文百度网址入口
  • 博客建站程序免费个人网站建设
  • 域名连接网站腾讯中国联通
  • 福建seoseo营销推广服务公司
  • 阿里云服务器ip做网站西安网站建设网络推广
  • 昌平哪有做网站的公司腾讯企点账户中心
  • 西安网站设计哪家公司好今天的新闻内容
  • app制作的网站百度域名收录
  • 关于协会网站建设的几点思考seo算法培训
  • 福建微网站建设公司推荐大亚湾发布
  • 做网站至少要花多少钱郑州官网关键词优化公司
  • 杭州西湖区做网站搜索引擎优化培训班
  • 国外色情网站淘大象排名查询