![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JavaScript
javascript高级编程 相关知识 记录和总结
一稻道人
当世俗人,偶有不俗之志。
展开
-
JSON.parse() 和 JSON.stringify()
JSON.parse()【从一个字符串中解析出json对象】例子://定义一个字符串var data='{"name":"goatling"}'//解析对象JSON.parse(data)结果是:name:"goatling"JSON.stringify()【从一个对象中解析出字符串】var data={name:'goatling'}JSON.str...转载 2018-10-21 22:47:56 · 100 阅读 · 0 评论 -
js创建GUID
function newGuid() { var guid = ""; for (var i = 0; i <= 32; i++) { var n = Math.floor(Math.random() * 16.0).toString(16); guid += n; if ((i===8)||(i===12)||...转载 2018-10-21 22:43:06 · 232 阅读 · 0 评论 -
jquery 动态创建input,value有空格取值不全问题
Jquery动态创建input的元素设置value属性时,要多加一组单引号。原因:不加一组单引号引起的问题是,当Name有空格时,value只显示Name的部分。$input= $("<input type='text' ;value='" +Name+ "'></input>");$div.append($input);...原创 2018-12-06 15:37:30 · 1450 阅读 · 0 评论 -
JSON.stringfy剖析
原创 2018-10-21 21:42:44 · 645 阅读 · 0 评论 -
javascript属性prototype解析
原创 2018-10-21 21:40:22 · 90 阅读 · 0 评论 -
javascript案例--闭包应用
function testFun() { //for (var i = 0; i < 10; i++) { // setTimeout(function () { // console.log(i); // }, 0) //} for (var i = 0; i < 10; i++) { ...原创 2020-06-26 10:08:22 · 165 阅读 · 0 评论 -
原理分析---浏览器进程和线程
目前主流浏览器有如下进程:1个浏览器主进程1个GPU进程1个网络进程多个渲染进程(因为每个Tab页都需要一个单独的渲染进程来渲染,因此每个Tab页也是一个单独的进程)多个插件进程浏览器主进程:主要负责界面显示、用户交互、子进程管理,同时提供存储等功能。渲染进程:核心任务是将 HTML、CSS 和 JavaScript 转换为用户可以与之交互的网页,排版引擎 Blink 和 JavaScript 引擎 V8 都是运行在该进程中,默认情况下,Chrome 会为每个 Tab 标签创建一个渲染进程。原创 2020-06-26 09:34:14 · 433 阅读 · 0 评论 -
javascirpt中的数组 详细介绍
创建数组方式一:构造函数var colors=new Array();var colors=new Array(20);var colors=new Array{"red","blue","green"};//也可以省略new操作符var colors=Array(3);var names=Array("Greg");方式二:字面量var colors=["red","blue"];var names=[];//创建空数组数组的length属性数组的length属性不是只读的1原创 2020-06-23 20:15:00 · 158 阅读 · 0 评论 -
javascirpt--闭包--13
闭包定义闭包的定义在不同的书籍或者论坛都有不同的定义,不唯一。在此简单说其中一种:==闭包是指一个函数可以访问另一个函数作用域中的变量。==例如在一个函数(外层函数)内部再定义一个函数(内部函数),这样内部函数可以引用外部函数的变量,使用闭包,外层函数不会被垃圾回收。记住两种闭包应用场景场景一:函数作为返回值function fn(){ var max=10; return function bar(x){ if(x>max){ console.log(x); } }}原创 2020-06-19 23:20:16 · 121 阅读 · 0 评论 -
javascirpt--自由变量&作用域链--12
自由变量在F作用域中使用的变量x,但没有在F的作用域中声明(即在其他作用域中声明),对于F作用域来讲,x变量就是一个自由变量原创 2020-06-19 22:30:30 · 127 阅读 · 0 评论 -
javascirpt--作用域--11
javascirpt中没有块级作用域var i=10;if(i>1){ var name='henry';}console.log(name);//henryfor(var i=0;i<10;i++){ //...}console.log(i);//10javascirpt中仅两种作用域:全局作用域,函数作用域javascirpt中除了全局作用域,只有函数可以创建作用域作用域有上下级之分,上下级关系的确定就看函数是在哪个作用域下创建,如下,fn就是bar函数的上级原创 2020-06-19 20:05:31 · 87 阅读 · 0 评论 -
javascirpt--执行上下文栈--10
通过一段代码说明执行上下文栈的出栈压栈过程:var x=20;var f1=function(y){ var z=10; f2(x+z);}var f2=function(m){ var n=30; console.log(m+n);}f1(40);1 代码执行前,首先进入全局上下文环境:待续原创 2020-06-18 20:15:34 · 97 阅读 · 0 评论 -
javascirpt--this关键字--09
this的取值场景1:构造函数function Person(){ this.name='henry'; this.age=20; console.log(this);// Person{name:'henry',age:20}}var p=new Person();console.log(p.name);//henryconsole.log(p.age);//20注:当且仅当 Person作为构造函数使用的时候,this代码new出来的对象当Person函数作为普通函数被调用时,原创 2020-06-18 20:02:15 · 136 阅读 · 0 评论 -
javascirpt--执行上下文环境--08
函数特别说明在执行js代码前,对于函数,除了准备上一章提到的数据之外,还会有其他数据:var b=20;function test(){ console.log(b);//10 console.log(arguments);//[10]}以上说明函数体在执行语句之前,除了函数参数会被赋值,另外 arguments变量也会被赋值,arguments是一个数组,会接收函数所有的参数。函数每执行一次,都会产生一个新的执行上下文,不同的调用可能有不同的参数总结:全局代码的上下文,即:在执行代原创 2020-06-18 19:36:10 · 77 阅读 · 0 评论 -
javascirpt--执行上下文环境--07
理解【执行上下文】//示例一:1 console.log(a); //未声明,直接使用,会报错2 console.log(a);//输出undefined,未报错 var a;3 console.log(a);//输出undefined var a=10;说明:在浏览器执行javascript代码之前,浏览器已经做了准备工作,其中包括对变量的声明,而不是赋值。上述第二段代码,浏览器在执行log的时候已经知道a的存在,所以没有报错。示例一说明 1 浏览器在执行代码之前,会对变量原创 2020-06-18 19:23:26 · 119 阅读 · 0 评论 -
javascirpt--原型链与继承--06
阅读本篇先理解一句话,每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,实例都包含一个指向原型对象的内部指针,这句话不理解的话请翻阅本系列前面几个篇文章。原型链的基本模式让一个原型对象等于另一个类型的实例时,就产生了原型链function SuperType(){ this.property = true;}SuperType.prototype.getSuperValue = function(){ return this.property;};function Su原创 2020-06-09 20:17:45 · 123 阅读 · 0 评论 -
javascript---隐式原型--05
上一节中讲过javascirpt中每一个函数都有一个prototype,即原型,这里补充一点,javascirpt中每一个对象都有一个属性__proto__,可称为隐式原型,隐式原型指向创建这个对象的函数1 每个对象都有一个__proto__,函数是一个对象,函数的__proto__ 指向什么?自定义函数的由 Function 创建,是javascirpt内置的函数,所以自定义函数的__proto__指向Function的prototype function Person(name, age,原创 2020-06-09 19:43:14 · 114 阅读 · 0 评论 -
Javascirpt--原型模型---04
什么是原型属性,原型对象Javascript中每个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象(原型对象),这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。结论:使用原型对象可以让所有实例共享它的属性和方法function Person(){}Person.prototype.name = "Nicholas";Person.prototype.age = 29;Person.prototype.job = "Software Engineer"原创 2020-06-06 17:15:18 · 159 阅读 · 0 评论 -
Javascirpt--原型(prototype)模式的产生背景--03
之前的文章中已经阐述过,js中对象是属性的集合,属性值可以是值类型,也可以是引用类型,比如基本值,函数,或者对象。创建对象//创建自定义对象 **传统写法**var person = new Object(); person.name = "Nicholas"; person.age = 29; person.job = "Software Engineer"; person.sayName = function(){ alert(this.name);};//推荐写法,通过**字面量原创 2020-06-06 15:45:31 · 150 阅读 · 0 评论 -
Javascirpt---属性---02
本篇内容主要总结《Javascirpt高级程序设计》中第六章内容js中两种属性类型1 数据属性:包含一个数据值的位置数据属性具有的特性:==[[Configuration]] 特性:== 是否能通过delete删除属性,默认true==[[Enumerable]]特性:== 能否通过 for-in 循环遍历属性,默认值true==[[Writable]]特性:== 能否修改特性的值,默认值true==[[Value]]特性:== 属性值的地址,读取属性值时从这个地址读,写入时将新值保存到这个地原创 2020-06-05 19:58:25 · 151 阅读 · 0 评论 -
javascript中对象编程--01
js中基本类型typeof一元操作符,判断某一个变量的类型,值类型用typeof判断instanceof 判断一个引用类型的类型 //理解js中基本类型 function show(x) { //四种基本类型:undefined,number,string,boolean console.log(typeof x); // undefined console.log(typeof 10); // number原创 2020-06-04 19:55:20 · 97 阅读 · 0 评论