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

衡水学校网站建设化妆培训

衡水学校网站建设,化妆培训,东莞哪里有网站制作公司,湖南省新邵县建设局网站1.页面导入样式时,使用link和import有什么区别? link属于html标签,import是css提供的。页面加载的同时,link同时也会加载;import引用的css等到页面加载完再加载 2.js函数有哪几种声明方式? 表达式和声明…

1.页面导入样式时,使用link和@import有什么区别?

  • link属于html标签,@import是css提供的。
  • 页面加载的同时,link同时也会加载;@import引用的css等到页面加载完再加载

2.js函数有哪几种声明方式?

表达式声明式两种

  • 函数声明式写法:function test(),这种写法会导致函数提升,所有通过function声明的变量都会被解释器优先编译,不管声明在什么位置都可以调用它,但是她本身并不会被执行。
  • 函数表达式写法:var test = function(){},这种写法不会导致函数提升,必须先声明后调用。
test()//报错 TypeError:test is not a function
var test = function(){console.log("测试")
}
区别
  • 函数声明式变量会声明提前,函数表达式变量不会声明提前
  • 函数声明中的函数名是必需的,而函数表达式中的函数名是可选的
  • 函数表达式可以在定义的时候直接在表达式后面加()执行,而函数声明则不可以
function f00(){console.log('测试声明式')
}()//unexpected tokenvar foo = function(){console.log('测试表达式')
}();//测试
  • 自执行函数即使带有函数名,它里面的函数还是属于函数表达式
(function foo(){console.log('自执行函数')
})();//自执行函数

3.说说对“立即执行函数”的理解

​ JS立即执行函数模式是一种语法,可以让你的函数在定义后立即被执行,这种模式本质上就是函数表达式(命名的或者匿名的),在创建后立即执行。

常见的两种写法
  • 匿名函数包裹在一个括号运算符中,后面跟一个小括号
(function(){//.....
})()
  • 匿名函数后面跟一个小括号,包裹在一个括号运算符中
(function(){//....
}())

注意:

  • 函数体后面要有小括号
  • 函数体必须是函数表达式而不能是函数声明
好处
  • 不必为函数命名,避免污染全局变量
  • 立即执行函数内部形成了一个单独的作用域,可以封装一些外部无法读取的私有变量
  • 封装变量

4.call,bind,apply的区别

apply

apply接受两个参数,第一个参数是this的指向,第二个参数是函数接受的参数(数组形式传入)

改变this指向后原函数立即执行,此方法只是临时改变this指向一次

function fn(...args){console.log(this,...args);
}
let obj = {myname:"张三"
}
fn.call(obj,[1,2]);//this会变成传入的obj,传入的参数必须是一个数组
fn(1,2);//this指向window

当第一个参数为null、undefined时,默认指向window(在浏览器中)

fn.apply(null,[1,2]);//this指向window
fn.apply(undefined,[1,2]);//this指向window
call

call方法的第一个参数也是this的指向,后面传入的是一个参数列表

apply一样,改变this指向后原函数会立即执行,且此方法只是临时改变this指向一次。

function fn(...args){console.log(this,...args);
}
let obj = {myname:"张三"
}
fn.call(obj,1,2);//this会变成传入的obj,传入的参数必须是一个数组
fn(1,2);//this指向window

当第一个参数为null、undefined时,默认指向window(在浏览器中

fn.call(null,1,2)//this指向window
fn.call(undefined,1,2)//this指向window
bind

bindcall很相似,第一个参数也是this的指向,后面传入的也是一个参数列表(这个参数列表可分多次传入)

改变this指向之后不会立即执行,而是返回一个永久改变this指向的函数。

function fn(...args){console.log(this,args);
}
let obj = {myname:"张三"
}
const bindFn = fn.bind(obj);//this也会变成传入的obj,bind不是立即指向需要执行一次
bindFn(1,2);//this指向obj
fn(1,2);//this指向window

5.闭包是什么? 闭包的用途?

​ 如果一个函数用到了它作用域外的函数,那么就称这个变量与这个函数之间的环境为闭包。

​ 能够读取其它函数内部变量的函数,就是闭包。

用途
  • 模仿块级作用域,隔离作用域,不会全局污。

  • 封装私有变量。

  • 储存变量。全局变量可以重复使用,但是容易造成变量污染,局部变量仅在局部作用域内有效,不可以重复使用,不会造成变量 污染

6.重排(回流)和重绘

  • 重绘:某些元素的外观被改变,例如:元素的填充颜色.当一个元素的外观发生改变,但没有改变布局,重新把元素外观绘制出来的过程,叫做重绘。
  • 重排:重新生成布局,重新排列元素。重排也叫回流,简单的说就是重新生成布局,重新排列元素。
  • 重绘不一定导致重排,但重排一定会导致重绘。

7.css的选择器有哪些?

id选择器,类选择器,标签选择器,属性选择器,后代选择器,子代选择器(>),兄弟选择器(~),伪类选择器,相邻选择器(+),伪元素选择器(::before ::after)

http://www.khdw.cn/news/53494.html

相关文章:

  • 学会了php的语法怎么做网站百度seo推广计划类型包含
  • 可以做免费的网站吗seo网络推广优化教程
  • 网站开发留学镇江网站建设方案
  • 网站便民服务平台怎么做免费web服务器网站
  • seo推广话术廊坊seo排名收费
  • wordpress标签管理系统合肥seo推广培训班
  • 能和实体彩票店和做的彩票网站网络推广工作怎么样
  • 9.9网站怎么做百度小说搜索风云榜总榜
  • 个人兴趣图片集网站建设搜索引擎网站大全
  • 三文鱼电商代运营seo网页优化工具
  • ps做网站的分辨率多少钱域名注册免费
  • 合肥网站建设优化学习网站优化费用报价明细
  • 网站开发运营工作总结seowhy
  • 做百度推广设置网站统计seo培训网
  • 昆明手机网站开发百度客户管理系统登录
  • 什么网站可以做教师资格证的题目推广拉新app哪几个靠谱
  • 泰安企业做网站搜索引擎有哪几个网站
  • 深圳精品网站建设360建网站
  • wordpress如何拖移小工具seo专员工作内容
  • 网站如何引导网站平台推广
  • 建设银行网站特色cps广告是什么意思
  • 淘宝客网站可以做分销吗营销型网站建设的步骤流程是什么
  • 怎么做网站描述做引流推广的平台
  • 最快的赚钱门路9个广州seo推广神技
  • 苏州外贸网站推广百度客服电话24小时客服电话
  • wordpress中文目录下关键词优化如何做
  • 有哪些好的做网站公司好举例说明seo
  • 有没有做高仿手表的网站百度指数数据官网
  • apache网站拒绝访问贵阳网络推广排名
  • 网站建设公司的市场营销方案模板下载杭州百度推广优化排名