ECMAScript

JavaScript-简介、ECMAScript5.0

左心房为你撑大大i 提交于 2020-05-02 02:13:32
Javascript简介 web前端有三层: HTML:从语义的角度,描述页面的结构 CSS:从审美的角度,描述样式(美化页面) Javascript:从交互的角度,描述行为(提升用户体验) JavaScript的组成 ECMAScript5.0:定义了js的语法标准:包含变量、表达式、元素符、函数、if语句 for循环 while循环、内置的函数 DOM:操作网页上元素的API。比如让盒子显示隐藏、变色、动画form表达验证 BOM:操作浏览器部分功能API。比如刷新页面、前进后退、让浏览器自动滚动 ECMAScript 5.0 JS的引入方式 注释 调试语句 变量的声明 变量的命名规范 基本数据类型 复杂(引用)数据类型 运算符 数据类型转换 流程控制 常用内置对象(复杂数据类型)(重点) 函数(重点) 伪数组arguments 对象Object(重点) Date日期对象 JSON(重点) JS的引入方式 内接式 <script type= " text/javascript " > </script> 外接式 <!--相当于引入了某个模块--> <script type= " text/javascript " src = ' ./index.js ' ></script> 注释 #### 调试语句 - alert( '' ); 弹出警告框 - console.log( ''

JSON.parse()——Uncaught SyntaxError: Unexpected token \ in JSON at position 1

久未见 提交于 2020-04-29 23:35:20
背景 : 项目安全处理方面之一 ——对特殊字符进行编解码(后端编码,前端解码) 特殊字符 : " %22 \ %5C / %2F & %26 % %25 ' %27 ; %3B [ %5B ] %5D ^ %5E < %3C > %3E Note:均为英文下,中文下不考虑 问题 :使用JSON.parse(decodeURIComponent(JSON.stringify(body)))报错 —— Uncaught SyntaxError: Unexpected token / in JSON at position 150 原因 : ECMA script注明json字符串中需要转义的字符: " / \ b f n r t 思路 : 1、JSON.stringify()之后替换特殊字符 2、decodeURIComponent()之后替换特殊字符 解决 : 经验证,特殊字符需要替换为“ \特殊字符 ”,再使用JSON.parse()可以解决。 1、\必须最先替换,防止多余替换其他特殊字符之前的\; 2、"必须在JSON.stringify()之后替换,若在decodeURIComponent()之后替换,会将json结构属性,和属性名的"也替换; 3、\和b f n r t结合,JSON.parse()也会报错,但单独存在不会被编码。 JSON.parse

Python操作JSON和CSV

旧城冷巷雨未停 提交于 2020-04-29 13:15:37
JSON JSON(JavaScript Object Notation, JS 对象标记)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。 它基于ECMAScript(w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。 JSON支持数据格式: 对象(字典)。使用花括号。 数组(列表)。使用方括号。 整形、浮点型、布尔类型还有null类型。 字符串类型(字符串必须要用双引号,不能用单引号)。 多个数据之间使用逗号分开。 注:json本质上就是一个字符串。 JSON函数 使用JSON函数需要导入json库: import json 。 函数 描述 json.dumps 将Python对象编码成JSON字符串 json.loads 将已编码的JSON字符串解码为Python对象 另外: json.dump() 和 json.load() 主要用来读写json文件函数。 字典和列表转JSON import json books = [ { 'title' : 'Python基础' , 'price' : '79.00' } , { 'title' : 'Scrapy网络爬虫' , 'price' : '56.00' } ] json_str =

鍓嶇绗旇涔婮avaScript锛堜竷锛夋繁鍏ュ嚱鏁?amp;DOM閭g偣浜

一个人想着一个人 提交于 2020-04-28 07:31:15
涓€銆佸嚱鏁拌ˉ鍏匋/strong> 1.1 arguments 绫绘暟缁勫璞狘/span> arguments 鏄竴涓搴斾簬浼犻€掔粰鍑芥暟鐨勫弬鏁扮殑绫绘暟缁勫璞°€侟/span> 鍦ㄥ嚱鏁颁腑锛屼娇鐢ㄧ壒娈婂璞狘/span> arguments 锛屽紑鍙戣€匋/span> 鏃犻渶鏄庣‘鎸囧嚭鍙傛暟鍚岦/strong>锛屽氨鑳借闂畠浠€侟/p> 鍦ㄥ叾瀹冪紪绋嬭瑷€涓紝姣斿 java 锛氬鏋滀竴涓嚱鏁拌瀹氫箟杩囦袱娆★紝姣忔鍙傛暟涓暟閮戒笉鍚屻€傜浉褰撲簬瀹氫箟浜嗕袱涓笉鍚岀殑鍑芥暟锛屾牴鎹弬鏁颁釜鏁颁笉鍚岋紝浼氶€夋嫨涓嶅悓鐨勫嚱鏁版墽琛屻€侟/span> 涓€涓嚱鏁板悕瀹氫箟浜嗕袱涓嚱鏁帮紝绉颁负 鈥滃嚱鏁伴噸杞解€滭/strong> 锛圏/span>overloaded 锛夈€侟/span> 澶嶄範涓€涓嬪嚱鏁帮紝瀹氫箟鍑芥暟鏃讹紝鍙傛暟瑕佺綏鍒楀湪鍦嗘嫭鍙蜂腑锛岃繖浜涘弬鏁帮紝鍙?/span>鈥滃舰鍙傗€濓細 function fun(a,b,c){ console.log(a,b,c); } function fun(a,b){ console.log(a,b); } fun( 1,2 ); fun( 1,2,3); // 鍚堟硶鐨勶紝鍙傛暟澶氫簡鍜屽皯浜嗭紝閮戒笉鎶ラ敊銆侟/span> 璋冪敤鍑芥暟鏃讹紝浼犵殑鍙傛暟鍙?

JavaScript对象中属性的getter和setter方法

烈酒焚心 提交于 2020-04-28 04:34:58
JavaScript对象的属性是由名字、值和一组特性(可写、可枚举、可配置等)构成的。在ECMAScript 5中,属性值可以用一个或两个方法代替,这两个方法就是getter和setter。 var myObj = { a: 2, get b(){ return 3; } }; console.log(myObj.a);//2 console.log(myObj.b);//3 上面的代码中,属性a称为“ 数据属性 ”,它只有一个简单的值;像属性b这种用getter和setter方法定义的属性称为“ 存取器属性 ”。 存取器属性定义为一个或两个 与属性同名的函数 ,这个函数定义没有使用function关键字,而是使用get或set,也没有使用冒号将属性名和函数体分开,但函数体的结束和下一个方法之间有逗号隔开。 当程序查询存取器的属性值时,JavaScript代用getter方法(无参数),这个方法的返回值就是该属性存取表达式的值。当程序设置一个存取器属性值时,JavaScript调用setter方法,将赋值表达式右侧的值当作参数传入setter。从某种意义上来说,这个方法负责设置属性值,可以忽略该方法的返回值。 当一个属性被定义为存取器属性时,JavaScript会忽略它的value和writable特性,取而代之的是set和get(还有configurable和enumerable

关于Object.defineProperty 的基础知识

余生颓废 提交于 2020-04-28 03:47:04
Object.defineProperty 这个方法大家耳熟能详,可以对 对象的属性进行添加或修改的操作。即可以进行 数据劫持 。vue就是通过这个方法来劫持数据的。 平时我们创建对象的时候,一般通过对象字面量的方式创建: var student = { name: "小明" , age: 10 } 对象的属性在创建的时候,都带有一些特征值(特性),JS通过这些特征值来定义它们的行为。 ECMA-262 第 5 版在定义只有内部才用的特性(attribute)时,描述了属性(property)的各种特征。 ECMA-262 定义这些特性是为了实现 JavaScript 引擎用的,因此在 JavaScript 中 不能直接访问 它们。 为了表示特性是内部值,该规范把它们放在了两对儿方括号中,例如[[Enumerable]]。 ECMAScript 中有两种属性:数据属性和访问器属性。                     -------------《JavaScript高级程序设计(第三版)》 第六章 属性描述符 MDN上,对于对象的属性在创建的时候,带有的特征值,叫的是 属性描述符 。包含 数据描述符 和 存取描述符 。 a)数据属性(数据描述符): [[Configurable]] :能否通过 delete 删除属性,能否修改属性的特性,或者能否把属性修改为访问器属性。 [

前端笔记之JavaScript(一)初识JavaScript

戏子无情 提交于 2020-04-28 03:17:10
一、 JavaScript 简介 1.1 网页分层 web 前端一共分三层: 结构层 HTML : 负责搭建页面结构 样式层 CSS : 负责页面的美观 行为层 JavaScript : 负责页面的交互效果,提高用户体验 如果用舞台来进行比喻: HTML 是演员: div , a CSS 是化妆师:负责给每个演员添加装饰效果 javascript 是剧本:负责描述每个演员之间的交互 1.2 JavaScript 诞生 JavaScript 一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态效果。 JS 在 web 浏览器端的地位,无人可以撼动; 【作用】:数据验证、读写 HTML 元素、前后台数据交互、网页交互效果、 WEB 游戏制作、桌面应用开发( electron )、基于 Node.js 技术服务器端开发。 Javscript , JScript , ActionScript 等脚本语言都是基于 ECMAScript 标准实现的。 在 JavaScript , JScript 和 ActionScript 中声明变量,操作数组等语法完全一样,因为它们都是 ECMAScript 。但是在

☆javaSctipt☆---基础学习

跟風遠走 提交于 2020-04-28 03:15:50
JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。 该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScript,有两个方面的原因。一是商标,JavaScript本身已被Netscape注册为商标。而是想体现这门语言的制定者是ECMA,而不是Netscape,这样有利于保证这门语言的开发性和中立性。 因此ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。 ECMAScript的历史 年份 名称 描述 1997 ECMAScript 1 第一个版本 1998 ECMAScript 2 版本变更 1999 ECMAScript 3 添加正则表达式 添加try/catch ECMAScript 4 没有发布 2009 ECMAScript 5 添加"strict mode"严格模式 添加JSON支持 2011 ECMAScript 5.1 版本变更 2015 ECMAScript 6

JavaScript的一些基础性知识

感情迁移 提交于 2020-04-28 02:33:47
1. JavaScript概述 1.1. JavaScript概述 1.1.1. JavaScript是一门独立的语言 JavaScript是基于对象和事件驱动的脚本语言,主要应用在客户端。 JavaScript是一门独立的语言。 JavaScript是一种脚本语言,不需要编译,是解释运行的语言。 JavaScript运行需要环境,最常见的运行环境就是浏览器,现代主流的浏览器都内置了JS引擎,可以运行JavaScript代码。JS也有服务器端运行环境,我们不做讨论(Node.js、GoogleV8引擎…)。 1.1.2. JS的特点 解释运行,没有编译过程 基于对象 弱类型 1.1.3. JavaScript不得不说的历史 和JAVA的关系:语法十分相似,但其实毫无关系。 1995年5月,Netscape,LiveScript 1995年12月,改名为JavaScript 1996年8月,微软,Jscript 1997-1999年,ECMA,ECMAScript,基于已有的JavaScript和Jscript,提出了标准的Script语法规则,JavaScript和Jscript都遵循这套标准。 1999-以后,ECMAScript不断的更新 JS的优点: 交互性(它可以做的就是信息的动态交互) 安全性(不允许直接访问本地硬盘) 跨平台性(只要是可以解释Js的浏览器都可以执行

__proto__VS。 JavaScript原型

跟風遠走 提交于 2020-04-28 02:19:12
问题: This figure again shows that every object has a prototype. 该图再次显示每个对象都有一个原型。 Constructor function Foo also has its own __proto__ which is Function.prototype, and which in turn also references via its __proto__ property again to the Object.prototype. 构造函数Foo还具有自己的 __proto__ ,即Function.prototype,而该 __proto__ 又通过其 __proto__ 属性再次引用了Object.prototype。 Thus, repeat, Foo.prototype is just an explicit property of Foo which refers to the prototype of b and c objects. 因此,重复一遍,Foo.prototype只是Foo的显式属性,它引用b和c对象的原型。 var b = new Foo(20); var c = new Foo(30); What are the differences between __proto__ and