【你不知道的JavaScript】(01)基础+数组+字符串+数字

【JS】你不知道的JavaScript 笔记(一)—— 作用域与闭包 - 编译原理 - LHS - RHS - 循环与闭包 - 模块 - 词法作用域 - 动态作用域 之前看了一遍《你不知道的JavaScript(上卷)》之后感觉醍醐灌顶,过了几个月又感觉都快忘了,今天准备边二刷,边做个笔记,把书中的一些重点思想记录整理下来,方便以后复习。 今天先来复习第一部分:作用域与闭包 阅读详情

本文章仅针对我自己在看书过程中对一些不太清楚的知识点进行查漏补缺——《你不知道的JavaScript(中卷)》第一部分类型和语法中的 第一章+第二章

JavaScript基础

JavaScript是什么类型的语言

动态类型语言:在运行期进行类型检查的语言,也就是在编写代码的时候可以不指定变量的数据类型,比如Python和Ruby

静态类型语言:它的数据类型是在编译期进行检查的,也就是说变量在使用前要声明变量的数据类型,这样的好处是把类型检查放在编译期,提前检查可能出现的类型错误,典型代表C/C++和Java

强类型语言,一个变量不经过强制转换,它永远是这个数据类型,不允许隐式的类型转换。举个例子:如果你定义了一个double类型变量a,不经过强制类型转换那么程序int b = a无法通过编译。典型代表是Java

弱类型语言:它与强类型语言定义相反,允许编译器进行隐式的类型转换,典型代表C/C++

参考链接:https://blog.youkuaiyun.com/hard_days/article/details/84967298

JavaScript是动态类型语言、弱类型语言

《你不知道的JavaScript(中卷)》30页

“喜欢强类型(又称静态类型)语言的人也许会认为“类型”一词用在这里不妥。“类型”在强类型语言中的涵义要广很多。”

这个翻译好像有点不准确?这样描述会让读者误解强类型就是静态类型

JavaScript中如何判断一个值为null

  1. !a && typeof a === 'object'

  1. Object.prototype.toString.call(null) === '[object Null]'

undefined与undeclared有什么区别

在JavaScript中undefined与undeclared是两码事,

  1. undefined 是值的一种,undeclared 则表示变量还没有被声明过

  1. 在我们试图访问"undeclared" 变量时这样报错:ReferenceError: a is not defined,并且 typeof 对 undefined 和 undeclared 变量都返回 "undefined"

谈谈undefined和null

相同

Undefined和Null两种数据类型都只有一个字面值,分别是undefined和null

Undefined和Null类型在转换为Boolean类型的值时,都会转换为false

不同

null

  1. null代表空值

  1. null 是一个特殊关键字,不是标识符,我们不能将其当作变量来使用和赋值

  1. null是原型链的尽头

  1. typeof null === 'object'

  1. null + 0 = 0

  1. 一个对象使用完后将其赋值为null,有利于垃圾回收释放内存

undefined

  1. undefined表示变量声明过但并未赋过值

  1. undefined是一个标识符,可以被当作变量来使用和赋值

  1. 未赋值的值是undefined

  1. typeof undefined === 'undefined'

  1. undefined + 0 = NaN

数组

什么是稀疏数组

下列关于数组的打印结果是什么

var a = [ ];
console.log(a.length);
a[2] = [ 3 ];
console.log(a.length);

a["foobar"] = 2;
console.log(a["foobar"]);

a["3"] = 42;
console.log(a.length);

console.log(a.join())

console.log(a.map((_, i) => i))

答案及解释如下

var a = [ ];
console.log(a.length); // 0

// 在创建“稀疏”数组(sparse array,即含有空白或空缺单元的数组)时 其中的“空白单元”(empty slot)的值为undefined, 但这和显式赋值为 undefined (a[1] = undefined )还是有所区别
a[2] = [ 3 ];
console.log(a.length); // 3


a["foobar"] = 2;
console.log(a["foobar"]); // 2

a["3"] = 42;
console.log(a.length); // 4

// join假定数组不为空,通过length属性遍历其中的元素
console.log(a.join()) // ,,3,42

// map无法遍历空的单元格 有用js写算法题的朋友可能更有体会 初始化数组的时候通常要先fill再map赋值才有效果
console.log(a.map((_, i) => i)) // 不同浏览器打印的结果不同 微软浏览器结果为[空 ã2, 3, 42]

不同浏览器打印稀疏数组的结果不同

建议不要创建和使用空单元数组

类数组有哪些,怎么转数组

类数组概念:类数组是有一个 length 属性和从零开始索引的属性的对象,但是没有 Array 的内置方法

类数组:DOM 查询操作返回的 DOM 元素列表,函数里的arguments,有lenth的对象等

转化

如果这个类数组是一个DOM元素列表或者是arguments这类,则有以下四个方法

  1. Array.prototype.slice.call(arguments) 或 [].slice.call(arguments)

  1. Array.from(arguments)

  1. [...arguments]

  1. 创建一个数组,for循环遍历类数组的子项,添加到数组中

如果这个类数组是一个普通的类数组,则有以下两种方法

  1. Array.prototype.slice.call(arguments) 或 [].slice.call(arguments)

  1. Array.from(arguments)

注意:虽然字符串都可以通过上述方法转换为字符串,但是字符串不是对象,因此不是类数组,字符串之所以可以用上面的方法转化因为字符串是可迭代的

数组有哪些常用方法

  1. 纯函数

map filter slice concat(返回值为数组)

some every(返回值为布尔值)

find findIndex indexOf(查找)

reduce(返回值可以为任何类型的值)

forEach(返回值为undefined)

join toString(返回值为字符串)

  1. 非纯函数

push pop unshift shift splice(增删改操作)

sort reverse fill

字符串

字符串不可变是指什么

字符串不可变是指字符串的成员函数不会改变其原始值,而是创建并返回一个新的字符串

字符串有哪些常用方法

indexOf lastIndexOf search includes(查找)

split replace replaceAll match(可以用正则表达式)

slice substring substr(截取)

toLowerCase toUpperCase(大小写)

charCodeAt String.fromCharCode(ascii与字符串转化)

trim

charAt

另外,字符串可以找数组借用部分方法

a.join; // undefined
a.map; // undefined
var c = Array.prototype.join.call( a, "-" );
var d = Array.prototype.map.call( a, function(v){
return v.toUpperCase() + ".";
} ).join( "" );
c; // "f-o-o"
d; // "F.O.O."

但是,我们无法“借用”数组的可变更成员函数,如reverse等,因为字符串是不可变的

数字

var a = 5E10;
a; // 50000000000
a.toExponential(); // "5e+10"
var b = a * a;
b; // 2.5e+21
var c = 1 / a;
c; // 2e-11

如何判断较小的浮点数是否相等

设置一个误差范围值,通常称为“机器精度”,对 JavaScript 的数字来说,这个值通常是 2^-52(2.220446049250313e-16),从 ES6 开始,该值定义在 Number.EPSILON 中

function numbersCloseEnoughToEqual(n1,n2) {
return Math.abs( n1 - n2 ) < Number.EPSILON;
}
var a = 0.1 + 0.2;
var b = 0.3;
numbersCloseEnoughToEqual( a, b ); // true

NaN

NaN代表不是数字的数字,用于指出数字类型中的错误情况,但是类型仍是数字,即typeof NaN === 'number'

NaN 是一个特殊值,它和自身不相等,且是唯一个自反的值,即 NaN !== NaN

判断一个值是否为NaN可以用Number.isNaN(),而不要使用全局的isNaN。全局要检查参数不是NaN,也不是数字,或者利用NaN !== NaN的特性判断

Infinity

代表无穷

1 / 0 === Infinity

1 / -0 === -Infinity

0

带符号位的0存在的意义是,有些应用程序中需要数字的符号位来代表其他信息,例如移动的方向

乘法和除法可以得到负零 0 / -3 === -0 0 * -3 === -0

加法和减法运算不会得到负零

+0 === -0

JSON.stringify(-0) === '0'

JSON.parse("-0") === '-0'

Object.is()可以判断两个值是否绝对相等

Object.is(NaN, NaN) === true Object.is(-0, +0) === false

实现代码如下

Object.is = function(v1, v2) {
    // 判断是否是-0
    if (v1 === 0 && v2 === 0) {
    return 1 / v1 === 1 / v2;
    }
    // 判断是否是NaN
    if (v1 !== v1) {
    return v2 !== v2;
    }
    // 其他情况
    return v1 === v2;
}

1瓦功耗实现企业级性能:NXP LS1012A通信处理器架构与应用解析 在嵌入式网络与物联网领域,高性能与低功耗的平衡是核心挑战。其原理在于通过异构计算架构,将专用硬件加速引擎与应用处理器核心协同工作,实现任务卸载。这种设计的技术价值在于,它能以极低的功耗提供稳定的企业级网络处理与安全能力,显著降低系统散热与电源设计复杂度。典型的应用场景包括需要千兆线速转发、硬件加密及多协议连接的智能物联网关、工业自动化边缘节点以及静音型网络附加存储设备。本文以NXP LS1012A为例,深入剖析其如何通过集成的硬件包转发引擎和Arm TrustZone安全架构,在典型1瓦功耗下实现超过400 阅读详情

相关推荐

你不知道的JS

包含:JS基础、JS实操。

weixin_57136547的博客 3060

你不知道的javascript

最近笔者使用node.js完成了一个小型项目,在javascript的泥坑里面摸爬滚打了一番,感触颇深。Javascript会给习惯于传统面向对象模式的开发人员,带来很多意想不到的障碍。这些问题基本上是因为误解了javascript的设计导致的。 如果有本书能把js的这些槽点、另类之处,一次性说个明白就好了。还真是有,图灵就出版了一本《你不知道的javascript》。 图灵出版的这本《你不知道的javascript》三卷。 https://pan.baidu.com/s/1K2dW_syvf5LFDJYF

weixin_35597398的博客 5316

3D视觉引导技术在机器人焊接中的应用

通过对比传统的2D视觉和3D视觉技术在焊接领域的应用差异,探讨了3D视觉引导技术在提高焊接精度、适应不规则工件形状和增强自适应能力方面的优势。本文对3D视觉引导技术在机器人焊接中的应用进行了深入探讨,总结了其在提高焊接精度、适应不规则工件形状和增强自适应能力方面的优势,并通过应用案例展示了其在焊接路径规划、焊缝检测和焊接质量控制等方面的重要作用。1. 提高焊接精度:3D视觉引导技术能够精确测量焊接工件的三维形状和位置,为机器人提供精准的焊接路径规划和跟踪,从而提高焊接精度。三、3D视觉引导技术概述。

2302_79273122的博客 1836

你不知道的javascript_Javascript 学习 101

什么是Javascript通俗来讲javascript是一种脚本语言,允许用户编写一些运行在浏览器端的程序,这些程序可以通过更改HTML或者CSS来改变浏览器显示的内容。Javascript和Java的关系这是两种完全不相关的语言,Java是一种编程语言,用于编写一些运行于电脑或者其他设备上的程序,而javascript是一种脚本语言,用于和浏览器的内容进行交互。Javascript开发使用的工具...

weixin_39880301的博客 653

【影像组学入门百问】1#---#3

理论上讲三大主流平台Windows, Linux和MacOS均可进行影像组学研究。根据笔者实际经验,如果内存不足可能导致软件罢工,其余显示、GPU等均非必要。显示:最小分辨率为1024×768(推荐为1280×1024或更好)。Slicer中的许多计算都是多线程的,并且将受益于多核,多CPU配置。计算机需要足够的内存和图形功能将原始数据和处理结果保存在其内存中。如涉及深度学习等方法的研究需根据实际需求配置电脑,无法一概而论。接口设备:推荐使用带滚轮的三键鼠标。内存:超过4GB(推荐8G以上)。

weixin_38594676的博客 1484

【KBrowser】基于 Kiwi/chromium 制作全新外壳,将 chromium 代码当作 webview 使用,实现可控核替换

chromium 其实只需几步巧妙的架构,就能拿来“换核”,甚至可以插件化,实现类似webview.apk 的效果。重新设计界面,不再是差不多的回声。而 Kiwi 基于 chrome 77 ,只有 50 MB。优势是兼容好、可安装扩展。

sinat_27171121的博客 2029

你真的不知道的javascript

为大家准备了一个前端资料包。包含54本,2.57G的前端相关电子书,《前端面试宝典(附答案和解析)》,难点、重点知识视频教程(全套)。

军火库 470

2024从零开始使用VSCode编程(静态页面制作篇)HTML+CSS+JS阶段

VSCode第一个前端静态页面的编写

ssrsrrn的博客 9590

【JavaScript—数组】详解js数组一篇文章吃透js-数组

这篇文章将教会你js中的数组,包括了数组的概念,如何进行筛选数组元素,如何添加新数组 以及用两种不同的方式进行数组的筛选,一文即可搞懂js-数组

zhaochen1127的博客 2205

【OpenFOAM】-olaFlow-算例6- waveFloatingObject

波浪作用下的浮体的刚体运动,属于流固耦合(FSI)问题

ou_no的博客 3539

Far planner 代码系列(35)动态障碍物预处理_激光雷达部分

主要讲解动态障碍物在激光雷达部分的剔除机制

博客 1057

vue将json字符串转换为数组_使用React Hooks在JavaScript中将字符串转换为数字/数组/Vue.JS版示例...

首先了解用于将字符串转换为整数、浮点数或数字数组的方法和技巧,最后看一些简单React 、React hook和Vue.js版应用程序。JavaScript parseInt()和parseFloat()在JavaScript,如何将字符串转换为数字让我们从一个简单的普通JavaScript示例开始,以演示如何将JavaScript字符串转换为数字。回到命令行界面,创建一个convert.js的文...

weixin_35711852的博客 1717

Mamba-UNet:用于医学图像分割的类似UNet的纯视觉Mamba网络

所提出的Mamba-UNet的架构如图2所示,其灵感来源于UNet [24] 和 Swin-UNet [3]。首先将大小为 H × W × 1 的2D灰度图像分割成类似于ViT和VMamba的块 [5,16],然后转换为维度为 H/4 × W/4 × 16 的1D序列。一个初始的线性嵌入层将特征维度调整为任意大小C。这些块令牌随后通过多个VSS块和块合并层进行处理,以创建分层特征。块合并层负责下采样和维度增加,而VSS块则专注于学习特征表示。

AI浩 7549

JS中属性为字符串数字的对象数组排序

0x00 前言 做项目时需要对数组对象进行排序,但是因为需要排序的数组对象的属性为字符串数字,例CO001Z01-01,网上找的博客文章根本没讲到点子上,后来翻阅mdn找到了解决办法,遂写出来与大家分享一下。 0x01 代码 还是用的sort函数排序,但是因为js中字符串比较是使用charAt()进行一个个字符的比较,所以数字无法正常比较大小,比如2是要比12大的,所以这里比较函数中使用了localeCompare来返回值,localeCompare中的第三个参数为一个对象,其中的nu...

才不是小弱鸡的博客 1524

SE80 Repository Information System 在 SAP CRM WebClient UI 组件分析中的实战指南

在 SAP CRM WebClient UI 开发过程中,如何快速定位组件、视图、上下文节点以及各类运行时对象,一直是调试效率的关键。(后文简称RIS)正是隐藏在SE80里的瑞士军刀,帮助开发者按照组件集、数据元素、上下文节点属性等多维条件进行交叉检索。官方博客将它描述为本文结合多年项目经验,系统梳理RIS的功能脉络与实战技巧,同时引入真实案例,示范如何借助它在几分钟内完成以往动辄数小时的排查任务。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

黑马JS教程笔记(JavaScript教程)——JS基础

<head><title>JavaScript练习</title></head><body><script></script></body>

Dontla的博客 2654

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Javascript数组数值索引和字符串索引

一 结论 Javascript数组索引值的范围为0到2的32次方。   对于任意给定的数字下标值,如果不在此范围内,js会将它转换为一个字符串,并将该下标对应的值作为该数组对象的一个属性值而不是数组元素, 例如array[-1] = "yes" 其实就相当于给array对象添加了一个名为-1的属性,属性值为yes。   如果该下标值在合法范围内,则无论该下标值是数字还是...

xiaoyaGrace的博客 1506

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

深度学习工具包 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")

七天学完JavaScript基础语法 (day01)

精简入门,考试复习,案例完整代码

qq_43768923的博客 2501

Javascript 字符串、数字、数组

英文 | https://programmer-anamul.medium.com/javascript-string-number-array-18378f26c692翻译 | 杨小二J...

web前端开发 236

JS_01-JavaScript基础

JavaScript基础 javaScript基础*JavaScript基础*什么是JavaScript1.JavaScript的组成2.JavaScript的基本结构3.在网页中引用JavaScript的方式JavaScript核心语法1.变量的声明和赋值2.数据类型3.数组3.运算符4.逻辑控制语句5. 常用的输入/输出JavaScript常用语法——函数1. 常用系统函数2. 自定义函数3. 事件JavaScript基础总结 什么是JavaScript JavaScript是一种描述性语言,基于对象(

木兮_的博客 498

JS基础知识整理01-字符串和数组

字符串 length属性 返回字符串的长度 检索匹配: indexOf/lastIndexOf(字符串,检索起始位置) 方法返回字符串中指定文本首次/最后出现的索引(位置):(无则返回-1) search(字符串) 作用跟indexOf一样,区别(1.没有第二参数,2.indexOf不支持正则,search支持) 提取部分字符串:(负值位置不适用 Internet...

weixin_44586318的博客 392

01-js基础学习

基础学习

小红果果的博客 1004

【JavaScript】Javascript基础Day01:let/const变量、数据类型、ES6模板字符串

Js基础Day01

2301_77399671的博客 793

JavaScript基础01

JavaScript是什么? JavaScript 是一种运行在客户端(浏览器)的编程语言 JavaScript组成是什么? ECMAScript( 基础语法 )、web APIs (DOM、BOM) JavaScript入门 JavaScript 书写位置 内部 JavaScript 直接写在html文件里,用script标签包住 规范:script标签写在</body>上面 外部 JavaScript 代码写在以.js结尾的文件里.

vGuYi的博客 420

js 实现字符串数组转换成数字数组

【代码】js 实现字符串数组转换成数字数组。

weixin_45414972的博客 558

JS01-JavaScript基础

JavaScript基础,包括在HTML中引入JS的内联与外部文件两种方式,演示了数组声明与访问,详述了数字、字符串、布尔、undefined、null五种数据类型,并展示了如何通过typeof检查变量类型。内容进一步探讨了JavaScript中的隐式类型转换,如“+”连接字符串时的字符串转换及“*”、“/”运算符引发的数字转换。同时列举了parseInt、parseFloat、Number、toString等显式转换方法,并通过实例说明如何在处理用户输入时利用隐式转换进行数值计算。

colorsZeroz的博客 518
上一篇: 【算法】JS DP 力扣6299拆分数组的最小代价
下一篇: 【算法】JS 快速幂 BigInt 力扣6338猴子碰撞的方法数
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值