前端面试题第四套

用友web前端试题(四)解析:深入JavaScript核心与工程化 JavaScript作为前端开发的核心语言,原型链、闭包、事件循环等底层机制是构建复杂应用的基础。理解这些原理,能帮助开发者掌握函数对象、异步执行和内存管理的本质,从而在性能优化和组件抽象中做出合理决策。随着前端技术从jQuery切换到MVVM框架,浏览器存储、事件委托等工程实践也日益重要。本文以用友web前端面试题(四)为例,逐题拆解这些高频考点,从手写new实现到浏览器事件循环,再到flex布局与框架选型,还原企业级前端面试的考察逻辑。对于准备中大型公司前端岗位的开发者,这类基于真实项目场景的试题比单纯 阅读详情

1) NOSCRIPT标签是做什么用的? C

a.  制止脚本的运行
b.  防止区域脚本被js修改<br>(例如aDiv.innerHTML = 'something' 将会不起作用)
c.  用来定义在脚本未被执行时的替代内容
d.  NOSCRIPT 标签并不存在
解析:NOSCRIPT标签用来定义在脚本未被执行时的替代内容。也可以用在检测浏览器是否支持脚本,若不支持脚本则可以显示NOSCRIPT标签里的innerText

2) 下列事件哪个不是由鼠标触发的事件 D

a.  click
b.  contextmenu
c.  mouseout
d.  keydown

3) 下面有关html的描述,不推荐的是?B

a.  在页面顶部添加 doctype声明;
b.  在 </head> … <body> 中间插入 HTML 代码;
c.  避免使用 <font> 标签;
d.  使用 <table> 元素展现学生成绩表等数据。

4) 下面哪个属性不会让 div 脱离文档流(normal flow)?C

a.  position: absolute;
b.  position: fixed;
c.  position: relative;
d.  float: left;

5) 以下关于盒子模型描述正确的是 A

a.  标准盒子模型中:盒子的总宽度 = 左右margin + 左右border + 左右padding + width
b.  IE盒子模型中:盒子总宽度 = 左右margin + 左右border + width
c.  标准盒子模型中:盒子的总宽度 = 左右margin + 左右border + width
d.  IE盒子模型中:盒子总宽度 = width

6) jquery ajax中都支持哪些返回类型? ABCD

a.  xml
b.  html
c.  jsonp
d.  Json
解析:$.ajax()函数依赖服务器提供的信息来处理返回的数据。如果服务器报告说返回的数据是XML,那么返回的结果就可以用普通的XML方法或者jQuery的选择器来遍历。如果见得到其他类型,比如HTML,则数据就以文本形式来对待。
通过dataType选项还可以指定其他不同数据处理方式。除了单纯的XML,还可以指定 html、json、jsonp、script或者text。

7) 常见的浏览器端的存储技术有哪些?ABD

a.  cookie
b.  localStorage
c.  session
d.  userData

8) 下面属于CSS3新增属性的有?ABCD

a.  box-shadow
b.  text-shadow
c.  border-radius
d.  rgba

9) XMLHttpRequest对象有几个返回状态值?C

a. 3
b. 4
c. 5
d. 6
解析:1. XMLHttpRequest返回值
0  初始化状态。XMLHttpRequest 对象已创建或已被 abort() 方法重置
1  open()方法已调用,但是 send() 方法未调用。请求还没有被发送
2  send()方法已调用,HTTP 请求已发送到 Web 服务器。未接收到响应
3  所有响应头部都已经接收到。响应体开始接收但未完成
4  HTTP 响应已经完全接收

10) 创建一个对象obj,该对象包含一个名为”name”的属性,其值为”value” 。以下哪一段JavaScript代码无法得到上述的结果?B

a.var obj = new Object();obj["name"] = "value";
b.var obj = new Object();obj.prototype.name = "value";
c.var obj = {name : "value"};
d.var obj = new function() { this.name = "value";}

11) 以下js代码会输出什么?

console.log(1 +  "2" + "2");        //122
console.log(1 +  +"2" + "2");       //32
console.log(1 +  -"1" + "2");       //02
console.log(+"1" +  "1" + "2");     //112
console.log( "A" - "B" + "2");      //NaN2
console.log( "A" - "B" + 2);        //NaN

12) 以下js代码会输出什么?

console.log("0 || 1 = "+(0 || 1));   //0 || 1 = 1
console.log("1 || 2 = "+(1 || 2));   //1 || 2 = 1
console.log("0 && 1 = "+(0 && 1));   //0 && 1 = 0
console.log("1 && 2 = "+(1 && 2));   //1 && 2 = 2

13) 以下js代码会输出什么?

console.log(false == '0')  //true
console.log(false === '0')  //false

14) 以下js代码会输出什么?

var a={},
b={key:'b'},
c={key:'c'};

a[b]=123;
a[c]=456;

console.log(a[b]); //456

15) 以下js代码会输出什么?

    (function(y) {
    return (function(y) {
        console.log(y);
    })(2)
})(1);

//闭包

16) Ajax跨域问题解决方案?

使用中间层过渡的方式:
  中间过渡,很明显,就是在AJAX与不同域的服务器进行通讯的中间加一层过渡,这一层过渡可以是PHP、JSP、c++等任何具备网络通讯功能的语言,由中间层向不同域的服务器进行读取数据的操作。拿PHP做一个例子,如果需要对不同域的某一个php进行通讯,现在客户端的xmlhttprequest先query本域的一个PHP,然后由本域的这个PHP去和不同域的PHP进行通讯,然后由本域的PHP输出response;
2、使用<script>标签
  这个方法是利用<script>标签中的src来query一个PHP获得response,因为<script>标签的src属性不存在跨域的问题。
 eg:<script LANGUAGE=”Javascript” src=”" id=”get”>
</script>
<script LANGUAGE=”Javascript”>
<!–
function get(url)
{
    var obj = document.getElementById(“get”);
    obj.src = url;
(obj.readStatus == 200)
    {
    alert(param);
    }
}
function query()
{
    get(get.php);
}
//–>
</script>

17) html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?

    * HTML5 现在已经不是 SGML 的子集,主要是关于图像,位置,存储,多任务等功能的增加。

* 拖拽释放(Drag and drop) API 
  语义化更好的内容标签(header,nav,footer,aside,article,section)
  音频、视频API(audio,video)
  画布(Canvas) API
  地理(Geolocation) API
  本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失;
  sessionStorage 的数据在浏览器关闭后自动删除

  表单控件,calendar、date、time、email、url、search  
  新的技术webworker, websocket, Geolocation

* 移除的元素

纯表现的元素:basefont,big,center,font, s,strike,tt,u;

对可用性产生负面影响的元素:frame,frameset,noframes;

支持HTML5新标签:

* IE8/IE7/IE6支持通过document.createElement方法产生的标签,
  可以利用这一特性让这些浏览器支持HTML5新标签,

  浏览器支持新标签后,还需要添加标签默认的样式:

* 当然最好的方式是直接使用成熟的框架、使用最多的是html5shim框架
   <!--[if lt IE 9]>        <script>src="http://html5shim.googlecode.com/svn/trunk/html5.js"</script> 
   <![endif]--> 
如何区分: DOCTYPE声明\新增的结构元素\功能元素

18) 浮动元素引起的问题和解决办法?

浮动元素引起的问题:
(1)父元素的高度无法被撑开,影响与父元素同级的元素
(2)与浮动元素同级的非浮动元素会跟随其后
(3)若非第一个元素浮动,则该元素之前的元素也需要浮动,否则会影响页面显示的结构
解决方法:
    使用CSS中的clear:both;属性来清除元素的浮动可解决2、3问题,对于问题1,添加如下样式,给父元素添加clearfix样式:
.clearfix:after{content: ".";display: block;height: 0;clear: both;visibility: hidden;}.clearfix{display: inline-block;} /* for IE/Mac */
清除浮动的几种方法:
1,额外标签法,<div style="clear:both;"></div>(缺点:不过这个办法会增加额外的标签使HTML结构看起来不够简洁。)2,使用after伪类
#parent:after{
content:".";
height:0;
visibility:hidden;
display:block;
clear:both;
}
3,浮动外部元素4,设置`overflow`为`hidden`或者auto

19) 写一个求和的函数sum,达到下面的效果

// Should equal 15
sum(1, 2, 3, 4, 5);
// Should equal 0
sum(5, null, -5);
// Should equal 10
sum('1.0', false, 1, true, 1, 'A', 1, 'B', 1, 'C', 1, 'D', 1,
  'E', 1, 'F', 1, 'G', 1);
// Should equal 0.3, not 0.30000000000000004
sum(0.1, 0.2);

答案:

function sum() {
var nResult = 0;
for (var i = 0, l = arguments.length; i < l; i++) {
    nResult += window.parseFloat(arguments[i]) || 0;
    }
return nResult.toFixed(3) * 1000 / 1000;
}

20) 请写一个表格以及对应的CSS,使表格奇数行为白色背景,偶数行为灰色背景,鼠标移上去时为黄色背景

<table class="table">
  <tr><td>第一行</td></tr>
  <tr><td>第二行</td></tr>
  <tr><td>第三行</td></tr>
  <tr><td>第四行</td></tr>
</table>

<style>
  .table tr:nth-child(2n-1){
  background-color:white;
  }
  .table tr:nth-child(2n){
  background-color:grey;
  }
  .table tr:hover{
  background-color:yellow;
  }
</style>

21)第一部分:用CSS实现布局
让我们一起来做一个页面
首先,我们需要一个布局。
请使用CSS控制3个div,实现如下图的布局。

第二部分:用javascript优化布局
由于我们的用户群喜欢放大看页面
于是我们给上一题的布局做一次优化。
当鼠标略过某个区块的时候,该区块会放大25%,
并且其他的区块仍然固定不动。

提示:
也许,我们其他的布局也会用到这个放大的效果哦。可以使用任何开源代码,包括曾经你自己写的。
关键字:javascript、封装、复用
第三部分:处理紧急情况
好了,我们的页面完成了。
于是我们将页面发布上网。
突然,晴天霹雳,页面无法访问了,这时候,你会怎么做?
解析:

    第一题:主要考虑几个问题:1. IE6 的 3 像素 BUG;2. 清楚浮动;
CSS代码:
    div{background:#CCCCCC;}  
#first{float:left;width:100px; height:150px}  
#second{clear:left;float:left;margin-top:10px;width:100px;height:150px}  
#third{zoom:1; width:200px;margin-left:110px;_margin-left:107px; height:310px}  
XML/HTML代码
<div id="first"></div>     
<div id="second"></div>     
<div id="third"></div> 
 第二题:用javascript优化布局
提示:
也许,我们其他的布局也会用到这个放大的效果哦。
可以使用任何开源代码,包括曾经你自己写的。
关键字:javascript、封装、复用
惭愧啊,用上边那个布局我怎么也没把它优化出来,硬这头皮用绝对定位改了布局;
所以样式改成了这样:
body{ margin:0; padding:0}  
div{background:#CCCCCC; position:absolute}  
#first{width:100px; height:150px}  
#second{top:160px;width:100px;height:150px}  
#third{ width:200px; height:310px; left:110px} 
javascript 要考虑封装、复用
function zoom(id,x,y){ // 设置缩放函数参数:容器id、横向缩放倍数、纵向缩放倍数(等比例缩放时也可以设定一个参数)  
var obj=document.getElementById(id); // 获取元素对象值  
var dW=obj.clientWidth; // 获取元素宽度  
var dH=obj.clientHeight; // 获取元素高度  
//var oTop=obj.offsetTop;  
//var oLeft=obj.offsetLeft;  
    obj.onmouseover=function(){ // 鼠标移入  
this.style.width=dW*x+"px"; // 横向缩放  
this.style.height=dH*y+"px"; // 纵向缩放  
this.style.backgroundColor="#f00″; // 设置调试背景  
this.style.zIndex=1; // 设置z轴优先  
}  
    obj.onmouseout=function(){ // 鼠标移出,设回默认值  
this.style.width="";  
this.style.height="";  
this.style.padding="";  
this.style.backgroundColor="";  
this.style.zIndex="";  
}  
}  
zoom("first",1.25,1.25);  
zoom("second",1.25,1.25);  
zoom("third",1.25,1.25); 
    第三题也许是JS代码没有放在页面的后面,加载速度慢尚未显示出来。或者是页面地址出错了。
这种情况下,先查看页面的源代码,看看有没有什么问题,然后找后台技术人员,看是不是服务器或技术方面的问题。

22)“你有什么业余爱好?”

深度学习的unfold操作 对于彩色图像这样的三维数据,unfold操作会对每个通道分别进行上述的二维展开操作。例如,一个 RGB 图像,在对其进行unfold操作时,红色通道、绿色通道和蓝色通道的数据都会被独立地按照定义的窗口和步长展开,然后将这些展开后的通道数据按照原来的通道顺序组合在一起,形成新的张量。与我们熟悉的卷积类似,unfold也是使用一个特定大小的窗口和步长自左至右、自上至下滑动,不同的是,卷是滑动后与核求乘积(所以取名为卷积),而unfold滑动后不求乘积,是将窗口内的数据展开。 阅读详情

相关推荐

死磕GMSSL通信-java/Netty系列(二)

Netty-tcnative再linux编译比较好编译,但是再window编译,我尝试了各种办法,总是编译失败,所以我采用半自动的方式进行编译,Netty-tcnative会生成临时文件,直接用vs打开,设置openssl的头文件和静态库路径,然后生成静态库,静态库改个名字放到jar包里边,其实自动编译也是这个原理哈哈O(∩_∩)O。直接传输五个证书的路径吗,之前有的是说要转成x509之类的,转来转去的有点麻烦,这个是直接传输证书路径,由底层gmssl去解析,格式必须是pem格式。然而,若项目已依赖于。

qq_36577699的博客 3024

[html] noscript标签有什么作用?

[html] noscript标签有什么作用? noscript 标签用于当浏览器不支持 JS 的时候在页面上显示一些提示内容,但是也有一些缺点,比如如果是防火墙而不是浏览器禁用了 JS,非但 JS 执行不了,noscript 的内容也不会显示。 比较好的办法是使用 noscript 作为默认方法,同时提供一个 fallback 方法,即页面上提供一个 display: block; 的 div 提示,随后使用 JS 将其设置为 display: none; 个人简介 我是歌谣,欢迎和大家一起交流前后

歌谣的博客 2994

Drools vs URule:5个真实项目场景告诉你如何选择开源规则引擎

本文通过电商风控、物流计费、会员体系、保险定价和物联网告警五个真实项目场景,深度对比了Drools与URule两款开源规则引擎。分析了两者在规则复杂度、性能表现、开发运维及适用场景上的核心差异,为技术选型提供基于实战的决策指南。

k6l7m8n9的博客 943

noscript 标签的用途

当浏览器不支持 JS,或者用户在浏览器中禁用了 JS。noscript 标签的内容会被展示出来,可以是图片,链接等任何 HTML 因素。确保在无 JS 脚本的情况下,用户也能获取到关键信息。

weixin_64684095的博客 1003

k8s部署 普罗米修斯(Prometheus)监控

Prometheus是一个开源的服务监控系统和时序数据库其提供了通用的数据模型和快捷数据采集、存储和查询接口它的核心组件Prometheus服务器定期从静态配置的监控目标或者基于服务发现自动配置的目标中进行拉 取数据新拉取到啊的 数据大于配置的内存缓存区时,数据就会持久化到存储设备当中。

D2961953033的博客 3854

华硕三频万兆分布式路由组网实战:从AiMesh 2.0到全屋Wi-Fi 6覆盖

Mesh组网是解决大户型Wi-Fi覆盖难题的主流方案,其核心原理是通过多个节点构建网状网络,实现设备间的无缝漫游。在技术层面,Wi-Fi 6标准、三频设计(包括专属回程频段)和有线回程等技术,共同提升了网络的带宽、稳定性和抗干扰能力。这些技术的工程价值在于,能够为多设备并发、高带宽应用(如4K/8K流媒体、在线游戏、内网文件高速传输)提供可靠支撑。具体到应用场景,例如利用华硕AiMesh 2.0系统,配合三频万兆分布式路由器,可以实现智能的设备连接与负载均衡。通过合理规划节点位置、优先采用有线回程,并进行Q

weixin_34054866的博客 431

noscript的作用简单介绍

此标签在很多时候完全没有必要.这里做一下简单介绍,知道它的作用也就知道它到底该不该使用了。 <noscript>标签可以用于支持<script>但是不支持其中代码的浏览器。 如果浏览器支持<script></script>之间的代码,那么就会渲染<noscript>标签中的内容,如果不支持,那么...

weixin_34100227的博客 1158

项目管理-(补充)七种基本质量工具

七种基本质量工具,用于PDCA循环的架构内 解决与质量相关的问题,分为老七工具和新七工具。 1)老七种:刘英只点劣质茶(流程图、因果图、直方图、散点图、帕累托图、控制图、核查表)2)新七种:锯树联亲测动优(矩阵图、树形图、关联图、亲和图、过程决策程序图、活动网络图、优先矩阵)

weixin_42081167的博客 4602

noscript标签的作用

noscript 标签中的元素中的内容只有在下列情况下才会显示出来: 浏览器不支持脚本 浏览器支持脚本,但脚本被禁用 符合上述任何一个条件,浏览器都会显示 noscript 中的内容。而在除此之外的其他情况下,浏览器不会呈现 noscript 中的内容。 ...

Loveyou4525252的博客 1426

华为OD机试2025C卷-双十一最大花费金额[100分](Java_Python3_C++_C语言_JsNode_Go)实现100%通过率

双十一最大花费金额 - 动态规划解法 摘要:本文介绍了华为OD机试中"双十一最大花费金额"问题的动态规划解法。该问题要求在给定N件商品价格和优惠券面额X的情况下,选择若干商品使总花费不超过X且尽可能大。核心解法采用布尔型动态规划数组,记录每个金额是否可被拼出。算法时间复杂度为O(N*X),空间复杂度为O(X)。通过倒序遍历避免重复选择同一商品,最后从X向下查找第一个可达金额作为答案。文中提供了C++和Java的实现代码,并解释了与经典0-1背包问题的关系。 关键点: 问题本质是0-1背包/子集和问题的变体

2503_91057718的博客 46

SAP 生产订单工序删除状态撤回简介

2、我们在前台对于生产订单的状态一个是在生产订单抬头中的状态,另外一个是针对上面一直在测试的是工序的状态,这个两个状态是前台可见的状态,实际生产订单还有一个组件物料的状态,这个状态是不可见的一个状态。生产订单中的0010工序中对应的组件的栏位被标识,表示有物料分配到了0010的工序中,正常情况下0010的工序被分配了工序是不应该被删除的。将已领料的工序删除掉,导致异常的发生。当物料已领料会,用户仍然把已分配的物料的工序删除掉,导致后续业务操作过程中产生异常,如下图中所示,0010的工序被打上了删除标识。

我小时候很黑的博客 1938

如何探测浏览器是否开启js功能

<body> ... ... <script type="text/javascript"> <!-- document.write("Hello World!") //--> </script> <noscript>Your browser do...

weixin_30578677的博客 510

python实现马丁策略(股市) (附完整源码)

python实现马丁策略(股市) (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 603

21套经典面试题!

因为最近崇拜于大神:徐刘根,过完年回来也该找工作了,所以转载一篇大神的面试题 转载于:https://blog.youkuaiyun.com/xlgen157387/article/details/81156275 一年一度的招聘季已经拉开帷幕,不管你是校招还是社招,大家应该都在忙着刷题,关于面试前到底该不该刷题?我的回答是肯定的,必须要刷题的! 有一个共识就是”面试的时候造火箭,工作的时候拧螺丝”,很多人或...

技术宅的博客 688

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

招聘季!送你21套经典面试题!助你一臂之力!

一年一度的招聘季已经拉开帷幕,不管你是校招还是社招,大家应该都在忙着刷题,关于面试前到底该不该刷题?我的回答是肯定的,必须要刷题的! 有一个共识就是"面试的时候造火箭,工作的时候拧螺丝",很多人或多或少都可能会有这样的误解!我个人的观点有以下几点: 第一个方面: 刷不刷题是你的态度问题!既然大家都知道,好好刷题可以应对绝大部分的面试,那你为什么不好好刷题哪?你连这个都不好好去准备,难道还能期望你工作以后能给公司做出来多大的贡献吗? 第二个方面: 面试官往往会对一个问题深入的挖,看你到底掌握到什么程度,虽然这

徐刘根的博客 2464

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

2017年秋招二十套前端面试题分享

前端面试--四月二十家前端面试题分享 1.正文 第一套 第二套 第三套 第四套 第五套 第六套 第七套 第八套 第九套 第十套 第十一套 第十二套 第十三套 第十四套 第十五套 第十六套 第十七套 第十八套 第十九套 第二十套 更多免费面试资料扫描下方二维码或搜索qq群号642482868加群领取。 转载于:https:/...

weixin_30300523的博客 86

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

7.牛批了 Android 2022高级资深面试题 一线大厂和二线大厂面试真题精选 (大疆 附答案)第七套 30k+

笔者是面霸,面试500+场 当过考官:面过别人500+场 去过500强,也呆过初创公司。 斩获腾讯、华为、字节跳动,蚂蚁金服,OPPO,美团,安卓岗offer!我有一套速通大厂技巧分享给你! 12年毕业,专科生,做安卓9年了。横扫深圳各大互联网公司,从开始的4k工资到现在的4万。我经历了什么? 本人也是一个屌丝,刚毕业的时候一直沉迷泡妞,我一直换,换了9个女朋友,然后在去年深圳买房安定下来了。然后开始写博客。免费分享给大家! 本系列一共10套面试真题,适合快速找工作的人...

深南大盗的博客 2356

2021年最后1天,我用一整年的「珍藏」陪你跨年!

今晚就是跨年夜了,你想好干什么了吗?跨年,是一年的结束也是一年的开始,如何度过非常重要!如果像往年一样,吃吃、玩玩、看看跨年演唱会,未免过于普通。所以,在这特殊的日子,播妞给大家支个“绝招...

传智播客的专栏 548

HTML - <script>,<noscript>

用户关闭 JavaScript 可能是为了节省带宽,以延长手机电池寿命,或者为了防止追踪,保护隐私。还有下面一些其他属性,大部分跟 JavaScript 语言有关,可以参考相关的 JavaScript 教程。属性给出脚本的类型,默认是 JavaScript 代码,所以可省略。上面这段代码,只有浏览器不能执行 JavaScript 代码时才会显示,否则就不会显示。支持 ES6 模块的浏览器,会不加载指定的脚本。用于加载脚本代码,目前主要是加载 JavaScript 代码。上面代码嵌入网页,会立即执行。

分享编程知识与技巧 致力于技术交流与学习 找我合作私聊 有偿解决计算机问题 875

简述HTML中的<noscript></noscript>作用

早期浏览器都面临一个特殊的问题,即当浏览器不支持JavaScript时如何让页面平稳的退化。对这个问题的最终解决方案就是创造一个<noscript>元素,用在不支持JavaScript的浏览器中显示替代的内容。这个元素可以包含能够出现在文档<body>中的任何<HTML>元素———<script>元素除外。包含在<noscript>元素中的内容,只有在下列情况下才会显示出来: 浏览器不支持脚本 浏览器支持脚本,但脚本被禁用。 符合上述任何一个

Ryan的博客 1579

你所不知道的<noscript>标签

&lt;noscript&gt;标签就是在当JavaScript被禁用或者不被支持时提供的一种代替方式,即 noscrip 标签中的内容会在此时被浏览器解析,作为 javascript 不可用时的备选方案。在HTML4中引入,并在body的规范中继续被支持。在HTML4中,只在 body 中起作用,在 head 中不起作用,但在HTML5中则允许出现在 head 中。代码示例如下: &lt;no...

971
上一篇: JS基本语法+实例
下一篇: AngularJS基础知识
艾夏又更新了
博客等级 码龄10年 17粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值