学习【JavaScript权威指南】(一)

JavaScript 权威指南-学习笔记(一) 本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途,如侵立删! JavaScript 权威指南-学习笔记 JavaScript是一门高级、动态、解释型变成语言,非常适合面向对象和函数式编程风格。 JavaScript的变量是无类型的。 JavaScript和Java除了表面语法大致相似,它与Java是完全不同的两门变成语言。 Hello World Node:交互式模式输出Hello World node c 阅读详情

不看不得了,一看吓一跳。。。好多简单的东西都不懂的,写个 $(function(){   } );   还需要查询下才记起来。。。

var book = {
   topic: "Javascript",
   fat: true   //true, false布尔值 null为空  undefined为未定义
}
book.author = "why-su"; //通过赋值创建一个新属性
book.content = {};  //{} 是一个空对象
book.plus = function(){  //定义一个方法
   return this.topic;    //this对自己的引用
} 
book.plus(); //执行方法

关于prototype的理解:https://www.cnblogs.com/loveyoume/p/6112044.html  ( prototype 这个属性是函数特有的属性 ,而且是函数的原型对象。对原型对象增加的属性及其方法,new实例化 之后的对象都能继承。)

    function Point(x,y) {
        this.x = x;
        this.y = y;
    }
    Point.prototype.z = function () {
        return Math.sqrt(this.x * this.x + this.y*this.y);
    };
    var p = new Point(3,4);  
    alert(p.z());   //结果是 5

隐藏,但保留空间  this.style.visibility = "hidden"

隐藏,不保留空间 this.style.display = "none"

Math的函数多多少少也要给我记住一些:

Math.pow(2,53);   //2的53次方
Math.sqrt(4); //4的平方根
Math.pow(8,1/3); //8的立方根
Math.ceil(.3); //向上取整
Math.floor(.3); //向下取整
Math.ceil(.3); //四舍五入

无穷大 Infinity  负无穷大 -Infinity  负零  -0    

被零整除在JavaScript不报错,只是返回无穷大Infinity。

零除零是没有意义的,返回  NaN (非数字值), NaN和任何数都不相等,包括自身,也就是无法使用 x == NaN来判断x变量是否是NaN,  而要使用  x!=x 来判断,当且仅当 x 为NaN的时候,表达式才为 true

var y = "one\
        long\
        line";  //一行显示的话要在每行末尾加上 \ 
var y = "one\long\line";  //如果 找不到\l这个转义字符的话,\会被忽略

var z = "0123456789";
z.charAt(0);   //第0位的字符
z.substring(2,5);   //索引第2位到第5位 截取
z.slice(2,5);  //和substring功能一样
z.slice(-3);  //截取最后三位
z.indexOf("1");  // 字符1 首次出现的位置
z.indexOf("1",3); //字符1 在 索引3位置之后 首次出现的位置
z.lastIndexOf("1"); //字符1 最后一次出现的位置

注意,字符串是固定不变的,类似replace(), toUppserCase() 都返回新字符串,原字符串本身是不变的。

if(o){
   //o不是false或任何假值(比如null或undefined)
}
if(o != null){
   //o不是 null
}

undefined 是 预定义的全局变量(和null不一样,不是关键字),它的值就是 未定义,二者都表示值得空缺

null == undefined  //true
null === undefined  //false

===  严格相等,如果两个值都是null或者都是undefined,则它们不相等

 

两个对象/数组 是永不相等的,即使含有相同的属性

类型转换

"2" * "5"  //结果是10,两个字符串均转换为10
"2" + "5"  //结果是"25", + 连接字符串
var n = 1 - "x";  //x无法转换为数字,得到的值为  NaN
n + "Object";  //NaN转为字符串 "NaN",得到的值是   "NaNObject"

"1" + 2 //结果是"12",数字转换为字符串后相加
1 + {}  //结果是  "1[object object]"
true + true  //结果是2,布尔值转换为数字后相加
2 +null //结果是2, null转换为0后相加
2 + undefined //结果是NaN, undefined转换为NaN后相加

区别:  ==  在判断前做了 类型转换, === 未转换类型

parseInt()  parseFloat()  全局函数,不属于任何类的方法

所有对象继承了2个转换方法:1,toString()   2,valueOf() 

JavaScript中对象到字符串的转换:先找 toString(),再找 valueOf(), 如果无法获得一个原始值,则抛类型转换异常

对象到数字的转换:先找valueOf()再找 toString(),否则抛异常

var d;  // 未赋值之前,值是 undefined
e;  //报错,e is not defined
var arr = [0,,,,4];  //包含5个元素,其中三个元素是 undefined
var a1 = [];  //空数组
var a2 = {};  //空对象
var o = {x:1, y:{z:3}}; //可以使用 o.y.z 或 o["y"]["z"]取值

所有无法转换为数字的操作数都会转为 NaN

new Object()
new Object   //创建对象,如果不需要传任何参数,括号可以省略

JavaScript的所有值不是真值就是假值

11 < 3 //false 数字比较
"11" < "3"  //true, 字符串比较
"11" < 3  //false, "11"转换为数字再进行数字比较
"one" < 3  //false,数字比较,"one"转换为NaN, >,<,>=,<=只要有一个为NaN,结果都为false

关于eval() : https://blog.youkuaiyun.com/u011897392/article/details/58139194

typeof null //为"object"
typeof undefined //为"undefined"
typeof true或false //为"boolean"
typeof 任意数字或NaN  // 为"number"
typeof 字符串  //为"string"
typrof 函数  //为"function"

in  

//属性
var o = {x: 1, y: 2};
"x" in o;  //true, 对象o有属性x
"toString" in o;  //true 对象继承了toString()方法

var data = [7,8,9]; 
"0" in data;  //true 如果是数组,因为是属性,data[0]为7
0 in data;  //true, 数字转换为字符串
3 in data;  //false, 没有索引为3的元素

还可以这样用哈哈 (o゚▽゚)o  

<a href="javascript:void(alert('要死要死'));">链接</a>
var o = new Object(); //创建空对象,和var o = {} 一样
var o = new Array();
var o = new RegExp("js");

var a= {a0: 0,a1: 1, a2: 2, a3: 3};
//我们知道两种写法 a.a0, a["a0"] 都可以获得值,但以下这种情况只能用a["  "]的写法
var addr;
for(var i = 0; i < 4; i++){
   addr += a["a"+i] + "\n";
}
    $(function () {
        var o = {x: 1,y: 2};   //o 从 Object.prototype 原型,继承对象的方法
        var a = inherit(o);   // a 继承 o 和 Object.prototype
        console.log(a.y);   //2
        a.x = 2;  //覆盖继承来的属性
        console.log(o.x);   //1  原来对象o的属性没受到影响
        console.log(a.x);   //2
        a.z = 3;  //属性赋值要么失败,要么创建一个属性
        console.log(a.z);   //3

       //如果查不到该属性
       console.log(o.w);  //返回undefined
       console.log(o.w.length);  //因为null或undefined是没有属性的,这里会报错
       //简练的防止报错的常用方法
       var len = o && o.w && o.w.length;
    })
    function inherit(p){
        if(p == null) throw TypeError();
        if(Object.create){
            return Object.create(p);
        }
        var t = typeof p;
        if(t !== "object" && t !== "function") throw TypeError();
        function f() {};
        f.prototype = p; //属性赋值要么失败,要么创建一个属性
        return new f();
    }


var o = {x: 1}
"x" in o;  //true
"y" in o;  //false
"toString" in o; //true o继承toString属性

//除了in之外,可以使用 !== (!== 可区分null和undefined,注意不是 !=)
o.x !== undefined    //true
o.y !== undefined    //false
o.toString !== undefined  //true o继承toString属性

o.hasOwnProperty("x");   //true
o.hasOwnProperty("y");   //false
o.hasOwnProperty("toString");  //false, 不是对象的自有属性

//跳过继承来的属性
for(p in o){
  if(!o.hasOwnProperty(p)) continue;
}

getter 和 setter

        var p = {
            $n: 1,  //$符号暗示这个属性是一个私有属性
            x: 3.0,
            y: 4.0,
            get r() { return Math.sqrt(this.x * this.x + this.y * this.y);},
            set r(newValue){
                var oldValue = Math.sqrt(this.x * this.x + this.y * this.y);
                var ratio = newValue/oldValue;
                this.x *= ratio;
                this.y *= ratio;
            }
        };
        console.log(p.r);    //5
        p.r = 50;
        console.log(p.x +","+p.y); //30,40

序列化对象 serialization是指将对象的状态转换为字符串,也可将字符串还原为对象。

          JSON.stringify() 序列化,JSON.parse() 还原JavaScript对象

数组:

var a = [];
var b = new Array();   
var c = new Array(10);  //只写一个参数的话,创建的数组长度是10,但是没有任何元素
var d = new Array(5,4,3,2,1,"test","why"); //长度是7
var e = [5,4,3,2,1,"test","why"]; //长度是7

//可以使用 负数或非整数来索引数组。这种情况下,数值将转换为“字符串”,将“字符串”作为属性名来用
a[-1.23] = true;  //创建名为"-1.23"的属性
a[1.00] //和 a[1]一样
a["1000"]  //和a[1000]一样,如果不存在,则返回 undefined
a[1000] = 1; //赋值添加一个新元素,并且设置length为1001

//JavaScript数组不存在“越界”错误

//稀疏数组
var a1 = [,,];  //长度是2,但没有元素
var a2 = [undefined,undefined];
a1[0]  //undefined
a2[0]  //undefined
0 in a1     //false,  在索引0处没有元素
0 in a2;    //true, 在索引0处有元素

a = [1,2,3,4,5] 
a.length = 0;  //删除所有的元素,a为[]
a.length = 5;  //长度为5,但没有任何元素,像new Array(5);

//可以设置length为只读
Object.defineProperty(a,"length",{writable: false});
//此时再使用 a.length = 0;就不会改变了。

//添加元素
var a = [];
a[5] = "zero";
//或者使用 push
a.push("zerp");   
a.push("zero","one");  //添加2个元素

//删除元素
var a = [1,2,3,4,5];
delete a[1];         //在索引1位置不再有元素
console.log(1 in a);  //false 索引1位置未在数组中定义
console.log(a.length);  //5 delete操作不影响数组长度

a.pop();  //删除数组的最后一个元素,长度改变
a.shift(); //删除数组的第一个元素,长度改变

//for循环
var a = [1,2,3,4,5];
for(var i = 0; i < a.length; i++){
   if(!a[i]) continue;  //跳过null,undefined,不存在的元素
   if(a[!] === undefined) continue;  //跳过undefined
   if(!(i in a)) continue; //跳过不存在的元素
}
//in 会跳过不存在的索引不会被遍历到
for(var i in a){
   if(!a.hasOwnProperty(i)) continue; //跳过继承的属性
   console.log(a[index]);
}

//forEach()方法,按照索引顺序遍历数组
a.forEach(function(value,index){
   console.log(value);  //value是值,index是索引
});

//join方法将数组所有元素转为字符串
var a = [1,2,3,4,5];
console.log(a.join());  //1,2,3,4,5  默认用逗号
console.log(a.join("")); //12345
console.log(a.join(" "));  //1 2 3 4 5

a.reverse();  //数组元素颠倒(在原数组的基础上),a变为 [5,4,3,2,1]

//sort排序
var b = ["scd","Ad","por","Fased","gerg","da"];
console.log(b.sort());   //按照字母表顺序排序,区分大小写
console.log(b.sort(function (a,b) {   //自定义排序规则,不区分大小写,负数排前面
    a = a.toLowerCase();
    b = b.toLowerCase();
    if(a < b) return -1;
    if(a > b) return 1;
    return 0;
}));

//slice截取数组,包左不包右, 不会修改原数组
var a = [0,1,2,3,4,5]; 
console.log(a.slice(0,3)); //[0,1,2]
console.log(a.slice(3));  //[3,4,5]  索引3后的内容
console.log(a.slice(0,-1)); //[0,1,2,3,4]  -1表示倒数第一个
console.log(a.slice(-3,-1)); //[3,4]  -3表示倒数第三个

//splice()会改变原数组,第一个参数指插入/删除的起始位置,第二个参数指定 删除的元素个数,
// 如果省略第二个元素,则从起始点位置后的所有元素都被删除,返回被删除的数组。
var a = [0,1,2,3,4,5,6];
console.log(a.splice(5)); //[5,6]
console.log(a); //[0,1,2,3,4]
console.log(a.splice(1,3));  //[1,2,3]
console.log(a);  //[0,4]
//从第三个参数开始,指定了要加入的元素
console.log(a.splice(1,0,1,2,3));  //[]
console.log(a);  //[0,1,2,3,4]

//every()是指所有元素都必须满足要求才返回true, some()是只要有一个元素满足要求就返回true
var a = [0,1,2,3,4,5,6]; 
console.log(a.every(function (t) { return t<10; })); //true 所有元素都小于10
console.log(a.some(function (t) { return t % 2 === 0; })); //true 至少存在一个元素能被2整除

//reduce按照 从左到右的顺序,第二个参数是初始值
var a = [1,2,3];
//初始值是0,按照从左到右顺序: 0 + 1 + 2 + 3 = 6
var sum = a.reduce(function (x, y) { return x + y; },0); 
//初始值是1,按照从左到右顺序: 1*1*2*3 = 6
var product = a.reduce(function (x, y) { return x * y; },1);
//初始值是0,按照从左到右顺序判读,结果3
var max = a.reduce(function (x, y) { return x > y ? x : y; },0);

//reduceRight() 方法与 reduce()相反,从右至左

JavaScript,函数可以嵌套在其它函数里面

当调用函数的时候传入的实参比函数声明时指定的形参个数要少,剩下的形参都将设置为undefined

arguments是指向实参对象的引用,使用下标可以访问传入函数的参数

//传入参数数量不定
function max(){
     var max = Number.NEGATIVE_INFINITY;  //负无穷大
     for(var i = 0; i < arguments.length; i++){
         if(arguments[i] > max) max = arguments[i];
     }
     return max;
}

调用 max(-34,-9,-12,-13,-48) 得到最大的 -9

第8章【函数】看的有点晕

//以下创建了10个闭包,但这些闭包都是在同一个函数调用中定义的,因此它们可以共享变量i
function constfuncs(){
   var funcs = [];
   for(var i = 0; i < 10; i++){
      funcs[i] = functio(){ return i;};
   }
   return funcs;
}

var funcs = constfuncs();
funcs[5]();   //结果是10,而不是5,这10个闭包的返回值都是10,因为共享了变量i


//需要这样写
function constfunc(i){
   return function(){return i;}
}
var funcs = [];
for(var i = 0; i < 10; i++){
  funcs[i] = constfunc(i);
}
funcs[5]();   //结果是5
function check(args){
        var actual = args.length;  //实际传参个数
        var expected = args.callee.length; //期望的传参个数
        if(actual != expected)
            throw Error("Expected " + expected + "args; got " + actual);
}

function f(x,y,z){
  check(arguments);
  return x + y + z;
}

f(1)报错 f(1,2)报错 f(1,2,3)正确返回6

 

超详细Tokenizer——文本训练数据预处理 Tokenizer是Keras库中的一个文本处理工具,它用于将文本分词并构建词汇表,同时将文本映射到整数序列。这对于自然语言处理任务非常有用,例如文本分类、情感分析、机器翻译等。 阅读详情

相关推荐

Vectorless dynamic动态功耗分析——Voltus

power 计算工具会根据设计信息和用户提供的activity和switching约束来生成虚拟的worst-case的power vector,难点在于哪些instances视为switching,在没有仿真的前提下如何确定开关的时间,使用timing文件(TWF)

qq_44347276的博客 2787

javascript权威指南

在这个例子中,x是一个整数,y是一个浮点数,它们的数据类型不同。但在进行加法运算时,JavaScript会自动将整数转换为浮点数,以得到正确的结果类型。结果类型(Result Type)是指运算或操作的结果的数据类型。当对操作数进行运算或操作时,会根据运算符的规则和操作数的数据类型得到一个结果,这个结果的数据类型就是结果类型。操作数的数量取决于运算符的类型。在编程中,如果对不同类型的操作数进行运算,编程语言会自动进行类型转换,以得到合理的结果类型。或表达式,取决于具体的运算或操作。第四章:表达式与操作符。

lv_suri的博客 787

Ubuntu18.04环境搭建与疑难解析:从零复现YOLO-6D姿态估计算法

本文详细介绍了在Ubuntu18.04环境下从零开始复现YOLO-6D姿态估计算法的完整流程,包括系统配置、Conda环境搭建、PyTorch安装、依赖项管理、源代码获取、数据集准备以及训练验证过程。针对Singleshotpose算法的特殊需求,提供了详细的疑难解析和性能优化技巧,帮助开发者高效完成算法复现和应用部署。

weixin_30369041的博客 452

《JavaScript 权威指南》犀牛书阅读详解

《JavaScript 权威指南》是一本由大卫·弗拉纳根撰写的经典书籍,主要介绍了JavaScript编程语言的核心概念和各种应用场景。其中包括基础语法、数据类型、函数、对象、数组、DOM操作、事件处理、表单验证、Ajax等内容。 这本书以全面、深入、易读为特点,是学习JavaScript的最佳选择之一。书中提供了丰富的例子和实践,可以帮助读者更好地理解和掌握JavaScript的各种知识,同时也方便读者进行实践和深入学习。

starry-sea1412的弃坑之路 1627

GPU核心性能指标

内存科普 CPU缓存分为三类,一级缓存(L1)、二级缓存(L2)和三级缓存(L3)。CPU在实际数据读取中重要的却是一级缓存,因为一级缓存速度最快,二级缓存其次,三级缓存最慢,只是三级缓存的容量最大。 DDR1,DDR2,DDR3内存条(DDR是Double Data Rate双倍速率同步动态随机存储器的英文缩写)就是俗称的一二三代内存条。这三种内存条工艺不同,接口不同,性能不同,互不兼容。要区分它们,也不难。内存条可以用在CPU内存或者GPU显存中。比如 the NVIDIA Tesla M2050 GP

Charles Ren's Tech Blog 2万+

光电系统光轴校准与偏差控制实战指南

光轴作为光电系统的空间基准坐标系,直接影响多光谱传感器的协同工作精度。在包含可见光、红外与激光测距的复合系统中,光轴偏差会导致目标识别误差与打击精度下降。通过机械基准建立、光学通道粗调和多光谱协同校准等工厂级标定流程,结合千米靶标法、星点校准法等野战应急方案,可有效控制光轴偏差。典型应用场景中,温度补偿与振动抑制技术能维持光轴稳定性,如某舰载系统通过500Hz高频视觉伺服实现0.3mrad振动补偿。掌握这些光轴标定与保持策略,对提升光电系统在侦察、测距等场景的实战性能具有关键价值。

weixin_36149538的博客 273

JavaScript权威指南 - 函数

函数使用function关键字定义,有函数语句和函数表达式两种定义方式。//一.函数语句类://打印对象所有属性名称和值。//计算阶乘的递归函数,函数名称将成为函数内部的一个局部变量。//二.函数表达式类://计算n的平方的函数表达式。这里将一个函数赋给一个变量。//兔子数列。函数表达式也可以包含名称,方便递归。//数组元素升序排列。函数表达式也能作为参数传递给其他函数。});//函数表达式有时定义后立即调用。}(10));函数命名。

lmrylll的博客 1441

2025.06.06【Ribo-seq】|RiboCode:基于Ribo-seq数据的全基因组翻译ORF检测工具详解与实战流程

大家好!今天我们要学习的是RiboCode——一个专为Ribo-seq(核糖体足迹测序)数据设计的高质量翻译ORF(开放阅读框)检测工具。RiboCode能够帮助我们在全基因组范围内精准识别翻译事件,发掘经典CDS之外的uORF、dORF、重叠ORF等新型翻译本,极大拓展了我们对转录本翻译潜能的认知。RiboCode 是由清华大学杨学睿课题组开发的开源软件,支持Linux/Mac平台,采用Python实现。自动化流程:一条命令即可完成注释准备、P-site定位、ORF预测。高灵敏度与特异性。

1855

【JavaScript权威指南第七版】读书笔记&速度

犀牛书—— 《JavaScript权威指南》第七版 笔记&速度

少年初心的博客 2085

MinerU PDF解析工具:从安装配置到本地部署与API调用的全流程指南

MinerU是由上海人工智能实验室开源的高质量PDF解析工具,可将包含图片、公式、表格的复杂PDF转换为Markdown和JSON格式。安装前需准备Python 3.10-3.13环境,推荐使用8核CPU和32GB内存。支持通过HuggingFace或ModelScope下载模型,国内用户建议使用ModelScope源加速下载。配置文件中可设置本地模型路径,支持多种语言识别和两种解析后端(Pipeline和VLM)。输出包含可视化文件、内容文件和中间结果文件,并提供了完整的Python API调用示例。

算法工程师 2024

Vue2 - 最新详细实现网站内部打开预览 office 全套附件,在页面弹窗内解析预览 word文档、excel电子表格、ppt演示文稿(docx|xlsx|pptx|pdf|txt等文件)详细代码

vue2,nuxt2,office,文档,文件,查看预览,弹框预览,下载预览,如何预览pdf文档,打开查看,office全套文档,实现在线预览文件,小程序内预览word文件,手机h5移动端网页,nuxt文档在线预览,预览office最好用的插件,下载查看,Office在线预览,vue-office,vue如何使用vue-office教程示例,word文档,ppt,exce表格,预览电子文件,文档无法解析,打不开,报错,失效,保存下载,vue前端预览并下载doc、xls、pdf、txt及图片,vue2中预览p

🏆 前端领域优质创作者 1万+

JavaScript权威指南(原书第7版) 犀牛书

前端JS犀牛书重点知识(持续更新ing...)

毕业才是起点 5305

《多模态融合改进》目录一览 | 专栏介绍 :全网 第一份 完整的多模态改进教程,提供《多模态模型改进完整项目包》-开箱即用

在大家订阅专栏后,便可获得多模态模型改进完整项目包-开箱即用,方便简单

Limiiiing的博客 1万+

《JavaScript权威指南》学习笔记(一)

跟着《JavaScript权威指南》整理的一些知识点和自己的小拓展。有不足之处请指正。 1、try catch 防止程序异常直接报错退出,而是能对异常进行一些处理,具体处理就在catch中。最好是在最外层函数使用。 2、HTML不区分大小写、XHTML区分大小写、JavaScript区分大小写。 许多客户端JavaScript对象和属性与它们所表示的HTML标签和属性同名。在HTML...

小菜鸡程序媛的挣扎史 1167

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

《JavaScript权威指南》学习笔记一

1、正确认识ECMA

淡忘~浅思 1866

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

深入浅出JavaScript——JavaScript权威指南学习笔记(一)

前言:近期菜鸡的我在通过网上各种方式打磨过JavaScript之后,开始了JavaScript的进阶之路。 JavaScript权威指南(被称为JavaScript圣经)——淘宝前端团队译

五柳 447

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

javascript权威指南学习笔记(一)

分号的使用

飞天代码的博客 783

Javascript权威指南学习笔记(一)

对象到基本类型的转换 首先,不管何时,当一个非空对象用在布尔环境中的时if((typeof o == "object") && (o instanceof Date)) 候,它都转换为false。这对于所有的对象(包括数组和函数)都是成立的,即便对那些用来表示应转换为false的基本类型值的包装对象来说,也是如此。例如,所有如下对象在布尔环境中的时候都转换为true。 n

workwithwebis3w的专栏 862

JavaScript权威指南学习笔记(一)

第3章 类型、值和变量 JavaScript有两个特殊的的原始值,null和undefined JavaScript除了数字,字符串、布尔值、null和undefined之外的就是对象 数字-JavaScript不区分整数值和浮点数。JavaScript中的所有数字均用浮点数表示。整数型直接量 十进制整数 十六进制值,以“0x”或“OX”为前缀,其后跟随十六进制数串 ECMAScript标准不支持八

xyq3949的博客 446

JavaScript权威指南学习笔记(一)

1.可选的分号 JavaScript只有在缺少分号就无法正确解析代码的时候才会填补分号,如下代码 var a a = 3 console.log(a) JavaScript将其解析为: var a; a=3; console.log(a) 因为JavaScript无法解析 var a a,所有在第一行换行处添加了分号。而第二个a可以...

weixin_43848130的博客 204

《JavaScript权威指南》速查学习笔记(一)

从今天开始,我决定不定期地更新JavaScript的学习笔记。之所以不说定期更新,是因为我一定做不到,毕竟本职工作的完成是第一前提。不过我还是会尽量频繁的更新。 做学习笔记的目的是督促自己的学习,留下学习的成果,顺带为日后的工作和复习留下资料。闲话不多说,先进行今日学习笔记的记录。由于我之前对C++等语言的熟悉程度较高,而大学教育中C++也是基础课程之一,所以在我的学习笔记主要是针对JavaSc...

侏儒工程师的无名小站 272

笔记:JavaScript权威指南学习(一)

犀牛 笔记

Mark_JF00的博客 330
上一篇: 融云Java服务端(好友、群组)
下一篇: VMware10从零开始安装CentOS 7
why_su
博客等级 码龄10年 86粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值