最近在学习的时候到了基础算法这一章节,让我对js内置对象方法的掌握还有思维逻辑都得到了提升,所借此机会来写一写学习心得和总结。下面这篇文章主要介绍了利用javascript实现翻转字符串与回文的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。翻转字符串翻转字符串(Reverse a String),就是把字符串倒序处理的意思,比如给定一个字符串”hello”,翻转后应该返回”olleh”。测试用例reverseString("hello") 应该返回 “ol...
一、什么是BOM BOM(Browser Object Document)即浏览器对象模型。 BOM提供了独立于内容 而与浏览器窗口进行交互的对象; 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window; BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性; BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C,BOM最初是Netscape浏览器标准的一部分。二、学习BOM学什么我们将学到与浏...
我们在学习JavaScript的过程中,由于对一些概念理解得不是很清楚,但是又想要通过一些方式把它记下来,于是就很容易草率的给这些概念定下一些方便自己记忆的有偏差的结论。危害比较大的是,有的不准确的结论在网上还广为流传。比如对于this指向的理解中,有这样一种说法:谁调用它,this就指向谁。在我刚开始学习this的时候,我是非常相信这句话的。因为在一些情况下,这样理解也还算说得通。可是我常常会在开发中遇到一些不一样的...
初学JavaScript的时候,我在学习闭包上,走了很多弯路。而这次重新回过头来对基础知识进行梳理,要讲清楚闭包,也是一个非常大的挑战。闭包有多重要?如果你是初入前端的朋友,我没有办法直观的告诉你闭包在实际开发中的无处不在,但是我可以告诉你,前端面试,必问闭包。面试官们常常用对闭包的了解程度来判定面试者的基础水平,保守估计,10个前端面试者,至少5个都死在闭包上。可是为什么,闭包如此重要,还是有那么多人没有搞清...
开年之后工作热情一直不是很高,这几天一直处于消极怠工状态。早上不想起床,起床了不想上班。明明放假之前工作热情还一直很高,一直心心念念的想把小程序项目怼出来,结果休假回来之后画风完全不一样了。我感觉自己得了严重了节后综合征。还好撸了几篇文章,勉强表示这一周的时间没有完全浪费。这篇文章要给大家介绍的是变量对象。在JavaScript中,我们肯定不可避免的需要声明变量和函数,可是JS解析器是如何找到这些变量的呢?我...
我们在JS学习初期或者面试的时候常常会遇到考核变量提升的思考题。比如先来一个简单一点的。console.log(a); // 这里会打印出什么? var a = 20;暂时先不管这个例子,我们先引入一个JavaScript中最基础,但同时也是最重要的一个概念执行上下文(Execution Context)。每次当控制器转到可执行代码的时候,就会进入一个执行上下文。执行上下文可以理解为当前代码的执行环境,它会形成一个作用域。JavaScript中的运行环境大概包括三...
var a = 20; var b = abc; var c = true; var d = { m: 20 }因为JavaScript具有自动垃圾回收机制,所以对于前端开发来说,内存空间并不是一个经常被提及的概念,很容易被大家忽视。特别是很多不是计算机专业的朋友在进入到前端之后,会对内存空间的认知比较模糊,甚至有些人干脆就是一无所知。当然也包括我自己。在很长一段时间里认为内存空间的概念在JS的学习中并不是那么重要。可是后我当我回过头来重新整理JS基础时,发现由于对...
1、JS 命名规范 命名规范是很有必要的,可增强代码的可读性,一眼就能看懂要表达的意思,规范就是符合规则,使代码有利于后期维护,也能很大程度的提高开发效率。一个正常的网站有很多 JS 代码,如果在编写的过程中,不遵循某种规则,那么写到后面自己都看不懂自己写的什么,这是很麻烦的一件事,所以要在平时的练习过程中,养成良好的编写代码的习惯。 一般都采用匈牙利命名法或者驼峰命名法。 匈牙利命名法的原则:变量...
JavaScript学习标签(空格分隔)变量1.啥叫变量变量是一个存储书数值的容器;2.游戏规则【变量命名】变量可以用字母、数字以及下划线(_)或者美元符($)组成。1.必须以字母、下划线或美元符号开头,后面可以跟字母、下划线、美元符号和数字。2.变量名区分大小写,如:myvar与myVarhi两个不同的变量。3.不允许使用JavaScript关键字和保留字作为变量名,比如break,Boolean。3.变量声明与赋值 var myvar=123;4.数据类型string(字符...
JavaScript是按照ECMAScript标准设计和实现的,后文说的JavaScript语法其实是ES5的标准的实现。先说说有哪些基础语法?01- 最基础语法有哪些?基础语法几乎所有的语言差异不大,无非数据类型、操作符、控制语句、函数等,简单列举下。5种基本数据类型 & 1种复杂的数据类型JavaScript包含5种基本数据类型,分别是undefined / null / boolean / number / string,基本数据类型就这五种,没有其他的!JavaScript包含1种复杂的数据类型...
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者那里的一知半解,所以决定先花一些时间整理一下这些基础知识和大家分享。 刚开始是打算写一篇的,但是后来写着写着就发现越来越多,所以决定还是写一个系列吧。本系列所有内容都是涉及Javascript基础的,没有时髦的玩意儿,但是我...
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者那里的一知半解,所以决定先花一些时间整理一下这些基础知识和大家分享。 后面会附上培训用的PPT。刚开始是打算写一篇的,但是后来写着写着就发现越来越多,所以决定还是写一个系列吧。本系列所有内容都是涉及Javascript基础的,没...
一、第一个nodejs应用n1_hello.jsconsole.log(hello word!);在命令行cmd中执行该文件(在该文件处打开命令行):node n1_hello.js在命令行cmd返回结果:hello word!二、nodejs基本格式//步骤一:引入require模块,require指令载入http模块 var http = require(http); //步骤二:创建服务器 http.createServer(function (request, response) {// 发送 HTTP 头部// HTTP 状态值: 200 : OK// 内容类型: text/htmlresponse.writeHead(20...
什么是nodejs?node.js是基于Chrome javaScript运行时建立的平台,用于方便地搭建响应速度快、易于扩展的网络应用。(但nodejs不是javascript应用,nodejs采用c++语言编写 )js是脚本语言,脚本语言都需要一个解析器才能运行。对于写在HTML页面里的JS,浏览器充当了解析器的角色。对于需要独立运行的JS,nodejs就是一个解析器。每一种解析器都是一个运行环境,可以干以下事情: 1.允许JS定义各种数据结构,进行运算; 2.允许JS使用...
AJAXAJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 不是新的编程语言,而是一种使用现有标准的新方法。AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。function prepareForms() {for(var j=0 ; j<document.forms.length ; j++){var this_forms = document.forms[j];resetFields(this_forms);this_forms.onsubmit = function () {if(!validateForm(this)) return false...