1.JS简史
客户端语言--- 为了解决拨号,表单验证缓慢的问题
ECMAScript的新脚本语言的标准。
1.2 JS实现
JS由三部分组成:核心(ECMAScript)、文档对象模型(DOM)、浏览器对象模型(BOM)
1.2.1 ECMAScript
ECMAScript与Web浏览器无关。ECMAScript这门语言并不包含输入和输出定义,它只是基础。
而Web浏览器是ECMAScript实现可能的宿主环境。宿主环境不仅提供基本的ECMAScript实现,
而且也会提供该语言的扩展--如DOM,提供了更多具体的功能,以便实现各种操作。
ECMAScript只规定了下面:
1.语法
2.类型
3.语句
4.关键字
5.保留子
6操作符
7对象

1.2.2 文档对象模型(DOM)
文档对象模型是针对XML但经过扩展用于HTML的应用程序编程接口(API)。DOM把整个页面映射为
一个多层节点结构。HTML或XML页面的中的每个组成部分都是某种类型的节点。
用户可以根据需求随意控制任何节点。
1.为什么要使用DOM
由于浏览器不兼容的问题,担心成为一种趋势,制定一种标准能够都兼容,减少代码量。
2.DOM级别
DOM1:DOM核心和DOM HTML。
DOM核心规定的是如何映射基于XML的文档结构,简化对文档结构的操作。
DOM HTMl在核心加一扩展,添加了对HTML的对象和方法。

DOM2:在原来DOM基础上扩充了鼠标和用户界面事件、范围、遍历。DOM3:进一步扩展了DOM,引入了以统一方式加在和保存文档的方法。

1.2.3 浏览器对象模型(BOM)
只处理浏览器窗口和框架。也习惯把所有针对浏览器的JS扩展放上去,
扩展: 1.弹出新浏览器窗口
2.移动、缩放和关闭
3.提供浏览器详细信息
4.提供所加载页面的详细信息
5.提供分辨率信息
6.对cookie的支持
7.XMLHttpRequest 这样的自定义对象。
小结:
JS是一种专为网页交互而设计的脚本语言,由三个不同的部分组成:
1.ECMAScript, 提供核心语言功能。
2.文档对象模型:提供访问和操作网页内容的方法和接口
3.浏览器对象模型:提供与浏览器交互的方法和接口
第二章 在HTML中使用JS
如何让JS既能与HTML页面共存,又不影响那些页面在其他浏览器中的呈现效果。
最佳的办法是:添加同意的脚本支持。

2.1

2.1.1 标签位置:
惯例,放在head中。
坏处:1.必须等head中的JS全部下载,才会开始呈现内容。
为了避免,会将JS放在body元素中的内容后面。

2.1.2 延迟脚本:defer :放在底部比较好。
含义:脚本会被延迟到整个页面都解析完毕后运行。(也就是遇到再执行。)
一般但不保证一定,会先于DOMContentLoaded事件执行。
defer只支持外部脚本,因此嵌入脚本有 defer,会忽略。

2.1.3 异步脚本:async
异步加载一定会在页面的load事件前执行。 但可能会在DOMContentLoaded事件触发之前或之后进行。
2.1.4 在XHTML中的用法
可扩展超文本标记语言(XHMTL),是将HTML作为XML的应用重新定义的一个标准。
XHTML的语法规则是非常严格的。

2.2 嵌入代码与外部文件
比较强调使用外部文件
可维护性
可缓存
适应未来
2.3 文档模式
现在使用的是文档类型(doctype)实现的。
一般使用标准模式。

文档模式分为两种:混杂模式和标准模式。  如果不写上面的话,默认开启标准模式。

2.4 元素
如何解决浏览器不支持JS时,如何让页面平稳退化:
. 用来代替在不支持的JS的浏览器的情况下,显示代替内容。

情况  :1。不支持脚本2.支持脚本,但脚本被禁用。

2.5 小结
第三章 基本概念
3.1 语法
3.1.1 区分大小写
变量、函数名、操作符都区分大小写。
3.1.2 标识符
其实就是变量名,命名规则
3.1.4 严格模式
严格模式是为JS定义了一种不同的解析与执行模型。对待一些不确定的行为,将会进行处理,对不安全的
操作会抛出错误。
方法: 代码顶部: “use strict”; 或者指定一个函数

    function doSomething(){“use strict”;}   这是一个编译指示,切换到严格模式。   严格模式下,JS执行结果会有很大不同

3.1.5 语句
以;结尾。
3.2 关键字和保留子。
3.3 变量
变量时松散类型,即弱关系类型。指的是可以保存任何类型的数据。换句话说,每个变量仅仅是一个用于保存
值的占位符而已。
var message: 未经初始化的变量,会保存一个特殊的值undefined。

注意变量的作用域。

3.4 数据类型
五种简单数据类型:Undefined|Null|Boolean|Number和String.
一种复杂数据类型:Object. 本质上是由一组无序的名值对组成的。 不支持创建自定义类型的极致。
3.4.1 typeof 操作符
检测给定变量的数据类型。
使用方法: 他是一个操作符而不是函数,因此例子中的圆括号尽管可以使用,但不是必需的。
var message=“some string”;
alert(typeof message); //返回“string”
alert(typeof (message)); //返回…
alert(typeof 95); //返回number
alert(typeof null); //返回object. 因为把他看作是一个空的对象引用。

3.4.2 Undefined类型
var message;
alert(message); //“undefined”
alert(age); //产生错误

    上面的例子,包含undefined值的变量和尚未定义的变量还是不一样的。对于尚未声明过的变量,只能执行一项操作,即使用typeof操作符检测其数据类型。未初始化、未声明的变量使用typeof操作符同样也会返回undefined值。var message;alert(typeof message);  //'undefined'alert(typeof age);   //'undefined'明智的做法:显式地初始化变量。当使用typeof时,这样就能检测出变量是没有被声明,而不是尚未初始化。

3.4.3 Null 类型
Null类型是第二个只有一个值的数据类型,这个特殊的值是null。从逻辑上看,null值表示一个空对象指针。
var car=null;
alert(typeof car);
如果定义的变量准备用来保存对象,那么最好初始化为null. 这样检测值就能知道是否已经保存了一个对象的引用
if(car!=null)

    实际上,undefined值是派生自null值的,因此:alert(null ==undefined;   //true如果是对象,记得声明成null。可以区分null和undefined.

3.4.4 Boolean类型
true和false,这两个值与数字值不是一回事。true不一定等于1,false不一定等于0。
所有类型的值都有与这两个Boolean值等价的值。可使用Boolean();

    Boolean() 会自动转换在if语句中。true            falseString      任何非空           空字符Number      任何非零数字值       0或NaNObject      任何对象                nullUndefined     n/s              undefinedeg:  var message="hello";if(message)        //这里使用了转化 Boolean()

3.4.5 Number类型
表示整数和浮点数。
八进制: 07;
十六进制 0xAF;

    注意永远不要测试某个特定的浮点数值。if(a+b==0.3)  //不要这样做,因为会有误差。 可能  0.1+0.2的结果是=0。30000000000004

2.数值范围
Number.MIN_VALUE : 5e-324
Number.MAX_VALUE:1.7976931348623157e+308

    如果超出范围会转化成特殊的Infinity值。确定有穷:isFinite()函数。

3.NaN(not a number)
非数值是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况。(这样不会抛错。)

    特点:1.任何涉及NaN的操作都会返回NaN。2.NaN与任何值都不相等,包括NaN本身。alert(NaN ==NaN)  //false针对这个定义了,isNaN();(是否为数值).他会尝试这个值能否转化为数值。alert(isNaN(NaN));   //truealert(isNaN(10));    //false  (10是一个数值)alert(isNaN("blue"))   //true (不能转化)

4.数值转换
三个函数,把非数值转化为 数值: Number()\parseInt()和parseFloat()。

     Number():有点复杂。parseInt():更常用: 从第一个非空格字符开始,如果不是数字,返回NaN.可指定进制。parseFloat():和parseInt()类似,

3.4.6 String 类型
单双引号都可以是字符串。
1.字符字面量
String数据类型包含一些特殊的字符字面量,也叫转义序列,用于表示非打印字符。

2.字符串的特点:
ECMAScript中的字符串是不可变的。一旦创建,他们的值不可改变。如果改变值,先销毁,后用另一个包含
新值的字符串填充该变量。

3.转换为字符串
toString()方法:若使用参数,代表进制。 不适用于null\undefined
eg: var age=11;
var ageString=age.toString(); // “11” 无参数。
var ageString=age.toString(2); //“01011” 二进制

    String():可使用不知道要转换的值是不是null或undefined的情况下。var value1=null;var value2=undefined;alert(String(value1));    //"null"alert(String(value2));    //"undefined"

3.4.7 Object类型
var o=new Object();
其中,在ECMAScript中,Object类型是所有它的实例的基础。
Object的每个实例都有的属性和方法:
1.Constructor
2.hasOwnProperty(“name”)
3.isPrototypeOf(object)。
4.propertyIsEnumerble(“name”):检查给定属性能否使用for-in来枚举。
5.toLocaleString()
6.toString()
7.valueOf()

3.5 操作符
ECMAScript操作符的与众不同之处在于,他们能够适用于很多值,字符串、数字值、布尔值,甚至对象。
在使用对象时,通常会先调用对象的valueOf()和toString()
注意:一元加和减操作符
在对非数值应用一元加操作符时,该操作符会想Number()转型函数一样对这个值执行准换。
var s1=“01”;
var s3=“z”;

        s1=+s1;     //变为数值1s3=+s3;     //变为NaN.

3.5.4 乘性操作符
与JAVA不同的是,操作数为非数值的情况下会执行自动的类型转换。
3.5.7 相等操作符
==、!=,注意:
要比较相等性之前,不能将null和undefined转换成其他任何值。
null == 0 false
undefined 0 false
\ === 不一样,两个转换类型再比较,而
=直接进行比较。
“55” == 55; //true,因为转换后想等
“55” ===55; //false,因为不同的数据类型不相等

3.5.8 条件操作符
b= a?c:d;
3.5.9 赋值操作符
注意: x=y+7 等价于x=x(y+7)
3.5.10逗号操作符
用于赋值时,逗号操作符总会返回表达式中的最后一项。
var num=(5,8,9,0); //num=0
3.6 语句
3.6.4 for语句
if语句: 注意: ECMAScript中不存在块级作用域。因此在循环内部定义的变量也可以在外部访问到。
var count=10;
for(var i=0;i<count;i++){
}
alert(i);
3.6.5 for-in语句:建议使用前,先确认该对象是不是null或undefined.

    for-in语句是一种精准的迭代语句,可以用来枚举对象的属性。for(var propName in window){document.write(propName);}ECMAScript对象的属性没有顺序。因此,for-in输出的顺序是不可预测的。

3.7 break和continue语句
独特的使用办法:label语句,可以返回到代码中特定的位置。
var num=0;

        outermost:for(var i=0;i<10;i++){for(var j=0;j<10;j++){if(i==5 && j==5){break outermost;}num++;}}alert(num);    //55添加了标签以后,会导致break语句不仅会退出内部的for语句,也会退出外部的for语句。为此,当变量i和j都等于5时。num等于55.var num=0;outermost:for(var i=0;i<10;i++){for(var j=0;j<10;j++){if(i==5 && j==5)continue outermost;}num++;}alert(num);    //95在这种情况下,continue会强制继续执行循环————退出内部循环,执行外部循环。谨慎使用label语句,如果使用,一定要使用描述性的标签,同时不要嵌套过多的循环。

3.6.8 with语句 : 大量使用会导致性能下降,调试困难。大程序不建议使用
with语句的作用是将代码的作用域设置到一个特定的对象中:
with(expression) statement;

举例,假如多次使用一个对象,可以这样用,用法:原来:  var qs=location.search.substring(1);var hostName=location.hostname;更改后:with(location){var qs=search.substring(1);var hostName=hostname;}

3.6.9 switch 语句
JS中的switch语句比其他语言强大很多。switch的表达式可以传递任何数据类型。
switch(“hello world”){
case “hello”+" world":
alert(“1”);
break;
case “goodbye”:
alert(“12”);
break;
}
也可以当做if语句来使用。
var num=25;
swtich(true){
case num<0:
alert(“1”);
break;
case nume>=0 &&num<=10:
alert(“12”);
break;

        }

3.7 函数
在使用return;时,将会返回一个undefined值。这种用法一般用在需要提前停止函数执行而又不需要返回值的情况下。
3.7.1 理解参数
ECMAScript函数的参数与大多数语言中函数的参数不同。它可以传递很多个参数,即使定义只定义了几个。原因是ECMAScript中的参数在内部是用一个数组(arguments)来表示。其实arguments对象只是与数组类似,因为可以使用方括号语法访问他的每一个元素。
函数一个重要的特点:
1.命名的参数只提供便利,但不是必须的。
2.此外,arguments对象可以与命名参数一起使用。
3.arguments的值永远与对应命名参数的值保持同步:当修改arguments的值,命名参数值也会改变。但是命名参数改变,
arguments的值不会改变。
4.当你只传入一个参数时,那么修改arguments[1],并不会影响第二个命名参数。因为arguments对象长度由传入参数决定
而不是由定义函数时的命名参数的个数决定的。
5.没有传递值的命名参数自动被赋予undefined。
ECMAScript中的所有参数传递的都是值,不可能通过引用传递参数。

3.7.2 没有重载
如果有两个同名函数,则该名字只属于后定义的函数。
第四章 变量、作用域和内存问题
4.1 基本类型和引用类型的值
基本类型值指的是简单的数据段。
引用类型值指的是那些可能由多个值构成的对象。
4.1.1 动态的属性
只能为引用类型的值动态添加属性,普通的数据类型不能添加属性。
var name=“NAC”;
name.age=27; //错误的
4.1.2 复制变量值
基本数据类型是复制一个副本,对象是引用,复制的是一个指针,指向同一个对象。
4.1.3 传递参数
值传递:复制一个副本。
指针传递:是特殊的值传递,它可以改变指向对象的值,也可以改变指向的对象。
引用传递:可以改变指向对象的值,但是不能改变指向的对象,他是对象的别名。
4.1.4 检测类型
使用typeof
instanceof

4.2 执行环境及作用域
执行环境定义了变量或函数有权访问的其他数据,决定它们各自的行为。 每个执行环境都有一个与之关联的变量对象,环境
中定义的所有变量和函数都保存在这个对象中。虽然我们编写的代码无法访问这个对象,但解析器在处理数据时会在后台
使用它。
全局执行环境是最外围的一个执行环境。不同的宿主环境,表示执行环境的对象也不一样。在web中,全局执行环境被认为
window对象,所有的全局变量和函数都作为window对象的属性和方法创建的。

当代码在一个环境中执行时,会创建变量对象的一个作用链。作用链的用途,是保证对执行环境有权访问的所有变量和函数的
有序访问。作用域链的前端,始终都是当前执行的代码所在环境的变量对象。如果这个环境是函数,则将其活动对象作为变量对象,即arguments对象。一级一级的包含。标识符解析是沿着作用域链一级一级地搜索标识符的过程。搜索过程使用从前段开始,然后逐渐向后回溯。此外,在局部作用域中定义的变量可以在局部环境中与全局变量互换使用。内部环境可以通过作用域链访问所有的外部环境,但外部环境不能访问内部环境中任何变量和函数。

4.2.1 延长作用域链
有一些办法可以延长作用链,会在作用链的前端临时增加一个变量对象,使用完后移除。
两种情况:
1.try-catch的catch块:会创建一个新的变量对象,其中包含错误对象的声明。
2.with语句: 会将制定的对象添加到作用域链中。

        function buildUrl(){var qs="?debug=true";with(location){var url=href+qs;}return url;}在这个函数中,首先with函数接受了location对象,把它放在了作用链的前端,并且引用它的属性href(location.href)。使用了with后,内部url,可以被外部执行环境接受。

4.2.2 没有块级作用域
if(true){
var color=“blue”;
}
alert(color); //“blue”

    在c语言中,color在if中执行完后,会销毁。后面会报错。而在JS中,if声明的变量会添加到当前的执行环境。再举例,for(var i=0;i<10;i++){}alert(i);    //10对于有块级作用域的语言,for所定义的变量只存在循环中。而在JS中,执行完for,依然存在。1.声明变量使用var 声明的变量会自动被添加到最接近的环境中。2.查询标识符从作用链前端开始查询,查询到停止。

4.3 垃圾收集
JS具有自动垃圾收集机制,也就是说,执行环境会负责管理代码执行过程中使用的内存。
垃圾收集器会按照固定的时间间隔,周期性地执行这一操作:找出不再继续使用的变量,然后释放其占用的内存。

工作机制:垃圾收集器必须追踪哪个变量游泳哪个变量没用,对于不再有用的变量搭上标记,以备将来回收,有两种
策略。

4.3.1 标记清除
垃圾收集器在运行的时候会给储存在内存中的所有变量都加上标记。然后,他会去掉环境中的变量以及被环境中的变量引用的变量的标记。而在此之后再被加上标记的变量将视为准备删除的变量。
4.3.2 引用计数
另一种不太常见的垃圾手机策略叫做引用计数。含义是跟踪记录每个值被引用的次数。
当一个值被变量引用时,则该值的引用次数加1。当变量的值被其他值所取代,引用数减1.
当变为0时,说明无法再访问这个值,当垃圾收集器下次运行时,他会释放引用为0的内存。

循环引用:会导致无法销毁内存,所以不再采用。BOM和DOM中的对象就是使用C++以COM对象的形式实现的,c++采用引用计数,当IE中涉及COM对象,就会存在循环引用的问题。后来改版后,DOM和BOM都转换成了JS对象,避免了常见的内存泄漏。

4.3.3 性能问题
4.3.4 管理内存
分配给Web浏览器的可用内存数量通常比程序的少。目的是处于安全方面的考虑,目的防止运行的网页耗尽呢堃导致系统崩溃。内存限制不仅影响给变量分配内存,同时还影响一个线程中同时执行的语句数量。
因此,优化内存最佳的方式,就是为执行中的代码只保存必要数据,一旦数据不用,设为null,来释放引用---解除引用。 这适用于大多数全局变量和全局对象的属性。

4.4 小结:
1.基本类型值在内存中占据固定大小的空间,因此被保存在栈内存中。
2.饮用类型的值是对象,保存在堆内存中。
第五章 引用类型
在JS中,引用类型是一种数据结构,用于将数据和功能组织在一起。常被称为类。但它不具备传统的面相对象语言所支持的类和接口等基本结构。
5.1 Object 类型
到目前为止,我们看到的大多数引用类型值都是object类型的实例。
var person=new Object();
person.name=“nicho”;
person.age=29;

另一种是使用对象字面量表示法,简写形式,目的在于简化创建包含大量属性的对象。var person={name:"nico",age:29,5:true      //5回自动转换成字符串};  
可以为空:var person={};      //花括号代表对象。()代表数组。可使用对象字面量向函数传递大量可选参数的首选方式。function displayInfo(args){var output="";if(typeof args.name=="string"){output+=args.name;}}displayInfo({name:"nico",age:29});

访问属性: person[“name”] person.name;

第一种方括号语法的优势是通过变量名访问、易出错的属性名访问:
var pro=“name”;
person[pro];
person[“first name”] //有空格

5.2 Array类型
在JS中,数组每一项能够装任何数据类型。如:第一个装数组,第二个装对象。
并且自动增加数组大小。
var colors=new Array();
var colors=new Array(20);
var colors=new Array(“hello”,“wolrd”,50);
var colors=Array();

//数组字面量法。
var colors=[];       //方括号是数组,花括号是对象
var colors=[“world”,123];数组的索引值很有意思。如果超出现有lengh,会自动增加到该索引值加1.lengh 的值是可以改变的,增加这个值,改变数组大小。(增大或减小)var colors=['red','blue'];colors[colors.length]='black';   //在位置2添加,colors[colors.length]='brown‘;   //在位置3添加。

5.2.1 检测数组
if(value instanceof Array){

}但是instanceof有问题的是,如果网页有多个框架,两个框架间传递值,可能Array构造函数不同。更好的办法是: Array.isArray();if(Array.isArray(value))     //php中是 is_array(value);

5.2.2 转换方法
var colors=[‘red’,‘blue’];
alert(colors.toString()); //red,blue 这个方法以逗号分隔字符串。
alert(colors.valueOf()); //red,blue 返回数组,后调用toString
alert(colors) //red,blue 因为调用alert,会后台调用toString
alert(colors.join(’,’)) //red,blue
alert(colors.join(’||’)) //red||blue

5.2.3 栈方法
jS提供了让数组类似于栈的行为。 后进先出。 push\pop
var colors=new Array();
var count=colors.push(“red”,“black”); //返回数组长度
alert(count); //2

count=colors.push("blk");
alert(count);       //3var item=colors.pop();        
alert(item);           //blk
alert(colors.length);   //2

5.2.4 队列方法
先进先出 push \shift
var colors=new Array();
var count=colors.push(“red”,“black”); //返回数组长度
alert(count); //2

count=colors.push("blk");
alert(count);       //3var item=colors.shift();        
alert(item);           //"red"
alert(colors.length);   //2unshift():它能在数组前端添加任意个项并返回新数组的长度
pop():从数组后端取出数据。这模拟了反向队列。var colors=new Array();
var count=colors.push("red","black");
alert(count);       //2count=colors.unshift("green");      green red black
alert(count);            //3var item=colors.pop();           
alert(item);           //"black"
alert(colors.length);   //2

5.2.5 重排序方法:
reverse(): 反转数组项的顺序
sort():默认会为每个数组项调用toString()方法,之后对字符串进行比较。
var values=[0,1,5,10,15];
values.sort();
alert(values); //0,1,10,15,5

 sort()可以接受一个比较函数:function compare() sort(compare);            //和java中的排序树类似。

5.2.6 操作方法
concat() 无参,只是复制副本,返回新数组
有参,复制,若第二个参数为数组,每一项添加到副本中,若不是,简单添加。
slice() 它能够基于当前数组中的一个或多个项创建一个新数组。
返回从初始位置到结束位置之间的项。

splice()    主要用途向数组的中部插入项1.删除  splice(index,length)              splice(0,2)2.插入多个项   splice(index,length,value1,value2...)  splice(2,0,value,value2)3.替换        splice(2,1,value,value2)返回一个数组,该数组中包含从原始数组中删除的项var colors=["red","green","blue"];var remove=colors.splice(0,1);alert(colors);                  //greem bluealert(removed);                 //redvar remove=colors.splice(1,0,"yellow","orange");alert(colors);                  //green yello orange bluealert(removed);                 //空数组var remove=colors.splice(1,1,"red","purple");alert(colors);                  //green red purple orange bluealert(removed);                 //yellow

5.27 位置方法
indexOf(searchString)\lastIndexOf(searchString).
要查找的项在数组中的的位置。
都是严格查找,使用===.

    var numbers=[1,2,3,4,5,4,3,2,1];alert(numbers.indexOf(4));          //3alert(number.lastIndexOf(4));         //5alert(numbers.indexOf(4,4));         //5,  从4开始往后查找。alert(number.lastIndexOf(4,4));         //3   从位置4开始从后往前查。var person={name:"nice"};var people=[{name:"nice"}];var morePeople=[person];alert(people.indexOf(person));    //-1        person和people不是一个对象alert(morePeople.indexOf(person));   //0

5.2.8 迭代方法
5个方法:每个方法都接受两个参数:要在每一项上运行的函数和运行该函数的作用域对象——影响this的值。
every(): 如果该函数每一项都返回true,则返回true
filter(): 返回true的项组成的数组
forEach(): 无返回值
map() 返回每次函数调用的结果组成的数组。
some(): 如果该函数的任一项返回true,则返回true。
every()和some()比较:
var numbers=[1,2,3,4,5,4,3,2,1];
var everyResult=numbers.every(function(item,index,array){
return (item>2);
});

        alert(everyResult); //falsevar someResult=numbers.some(function(item,index,array){return (item>2);});alert(someResult); //truefilter():过滤函数,通过函数,筛选出符合条件的项。var numbers=[1,2,3,4,5,4,3,2,1];var filterResult=numbers.filter(function(item,index,array){return (item>2);});alert(filterResult);  //[3,4,5,4,3] map():返回函数运行的结果var numbers=[1,2,3,4,5,4,3,2,1];var mapResult=numbers.map(function(item,index,array){return (item*2);});alert(filterResult);  //[2,4,6,8,10,8,6,4,2] foreEach():和for循环没什么区别,

5.2.9 缩小方法
reduce()\reduceRight() 从头到尾|从尾到头
迭代所有的项,然后构件一个最终返回的值。

    reduce(): 他的第一个参数是前一项的函数运行的结果var values=[1,2,3,4,5];var sum=values.reduce(function(prev,cur,index,array){return prev+cur;});alert(sum);    //15

5.3 Date类型
var now=new Date(); //自动获取当前日期和时间。
两个方法帮助创建日期对象:Date.parse()和Data.UTC(); 都是格林尼治时间

    Date.parse():var someDate=new Date(Date.parse("May 25,2004"));等价于var someDate=new Date("May 25,2004");  //自动调用Date.parse():Data.UTC(): 使用不同的参数,其他没什么不同//2000年1月1日0点0分             var y2k=new Date(Date.UTC(2000,0));//2005.5.5,17:55:55var allfiv= new Date(Date.UTC(2005,4,5,17,55,55));   //月、小时从0计数本地时间:var data=new Date(2000,5);Date.now() 返回此时的毫秒数。

5.3.1 继承的方法
5.4 RegExp类型
var expression=/pattern/flags;
flag: g: 全局模式,即搜索全局,才返回,而不是查找到第一个就返回
i :不区分大小写
m:表示多行,即在一行文本末尾是否会继续查找下一行。

字面量形式:var pattern1=/at/g;       //查找包含at的所有var pattern2=/[bc]at/i;    //查找bat或cat的匹配项,不区分大小写var pattern3=/.at/gi;     //查找所有以at结尾的三个字符的组合,不区分大小写//这里的.不是元字符,指的是任意一个字符。想要表示.,需要转义所有的元字符必须转义。有:([{ \ ^ $ | ) ? * + . ] }       如:var pattern2=/\[bc\]at/i;    匹配第一个“[bc]at”,不区分大小写。var pattern3=/\.at/gi;      查找所有以".at"的组合,不区分大小写构造函数方式: var pattern2=new RegExp("[bc]at","i");//注意:这里传入的字符串,那么想要使用特殊的字符就需要双重转义,才能变成字面量的模式。字面量模式               等价的字符串/\[bc\]at/              “\\[bc\\]at”\.at                    "\\.at"\w\\hello\\123          "w\\\\hello\\\\123"var re =null,i;for(i=0;i<10;i++){re=/cat/g;re.test("catastrophe");}for(i=0;i<10;i++){re=new RegExp("cat","g");re.test("catastrophe");}第一种,实际上只产生了一个RegExp实例。由于实例属性不会重置,第二次会从索引值为3的字符开始的。而使用构造函数,则每次会创建新的实例。

5.4.1 RegExp 实例属性
global: 是否设置g标志。
ignoreCase:是否设置i标志。
lastIndex: 表示开始搜索下一个匹配项的字符位置。
multiline:是否设置了m标志
source:正则表达式字符串表示,会返回字面量形式。
5.4.2 RegExp 实例方法
RegExp对象的主要方法是exec()。
使用全局变量g后,执行exec()函数会返回字符串中的下一个匹配项,直到末尾。

var text=“cat,bat,sat,fat”;
var pattern1=/.at/;

var match=pattern1.exec(text);
alert(matches.index); //0
alert(matches[0]); //cat
alert(pattern1.lastIndex); //0

var match=pattern1.exec(text);
alert(matches.index); //0
alert(matches[0]); //cat
alert(pattern1.lastIndex); //0

var pattern2=/.at/g;

var match=pattern2.exec(text);
alert(matches.index); //0
alert(matches[0]); //cat
alert(pattern2.lastIndex); //0

var match=pattern2.exec(text);
alert(matches.index); //5
alert(matches[0]); //bat
alert(pattern2.lastIndex); //8

text() :传一个参数,判断目标字符串与某个模式是否匹配。 true\false。
RegExp 继承的toString()方法都会返回正则表达式的字面量。

var pattern=new RegExp("\[bc\]at",“gi”);

alert(pattern.toString()); // /[bc]at/gi

5.4.3 RegExp 构造函数属性
通过RegExp可以查看到最近一次正则表达式操作。
var text=“this has been a short summer.”;
var pattern=/(.)hort/g;

if(pattern.test(text)){alert(RegExp.input);        //this has been a short summeralert(RegExp.leftContext);  //this has been aalert(RegExp.rightContext); //summer.alert(RegExp.lastMatch);    //shortalert(RegExp.lastParen);    //salert(RegExp.multiline);    //false}

5.5 Function 类型
函数实际上是对象,每个函数都是Function类型的实例。
function sum(num1,num2){}
等价于
var sum= function(num1,num2){};

在函数中,函数名仅仅是指向函数的指针,可以多次赋值。

5.5.1 没有重载
function addSomeNumber(num){
return num+100;
}
function addSomeNumber(num){
return num+200;
}

var result=addSomeNumber(100);     //300声明了同名函数,但其实后面的覆盖前面的。

5.5.2 函数声明与函数表达式
解析器会执行任何代码之前优先解析函数声明,而函数表达式只会在运行到此行才解析。
alert(sum(10,10));
function sum(){}

完全可以正常运行。

5.5.3 作为值的函数
可以将函数作为值传给函数。
function A(someFunction,someArgument){
return someFunction(someArgument);
}

也可以从一个函数中返回另一个函数。function createFunction(propertyName){return function(object1,object2){var value1=object1[propertyName];var value2=object1[propertyName];if(value1>value2)...... ...}}var data=[{name:"zhang",age:20},{name:"li",age:21}];data.sort(createFunction("name"));

5.5.4 函数内部属性
在函数内部,有两个特殊的对象:arguments和this.
arguments的callee属性,指向拥有这个arguments对象的函数。如阶乘:

function sum(num){if(num<=1){return 1;}else{ return num*arguments.callees(num-1);}
}this引用的是函数已执行的环境对象。(谁调用它,谁就是this.)caller. 这个属性保存着调用当前函数的函数的引用。function outer(){inner();
}function inner(){alert(arguments.callee.caller);
}outer();它会显示outer的源代码。因为outer()调用了inter(),所以caller指向outer()..

5.5.5 函数属性和方法
函数是一个对象,既然是对象,就有属性和方法。属性: length和prototype
length 代表函数想要接受的参数的个数
function sayName(name){}

function sayHi(name1,nam2){}alert(sayName.length)    //1
alert(sayHi.length)       //2prototype 是保存引用类型所有实例方法的真正所在。即:toString()\valueOf()等方法都保存在prototype
名下。

每个对象都包含两个非继承而来的方法:apply()\call().
用途都是在特定的作用域中调用函数,实际上等于设置函数体内this对象的值。

apply()传入参数数组。

function sum(num1,num2){}function callSum1(num1,num2){return sum.apply(this,arguments);
}function callSum1(num1,num2){return sum.apply(this,[num1,num2]);
}alert(callSum1(10,10));   //20
alert(callSum2(10,10));    //20解释:this,指代的谁调用的它,这里是window对象,那么就变成了window.sum(10,10);

call要传入每个参数。
function sum(num1,num2){}

function callSum1(num1,num2){return sum.call(this,[num1,num2]);
}alert(callSum1(10,10));   //20

来个复杂的例子:
function baseClass()
{
this.showMsg = function()
{
alert(“baseClass::showMsg”);
}
}

function extendClass()
{this.showMsg =function (){alert("extendClass::showMsg");}
}

如果我想使用extendClass的一个实例instance调用baseClass的对象方法showMsg怎么办?

extendClass.prototype = new baseClass();
var instance = new extendClass();var baseinstance = new baseClass();
baseinstance.showMsg.call(instance);//显示baseClass::showMsg这句话的意思就是:使用instance是调用者,调用他方法中和baseinstance.showMsg相同的方法。

apply()和call()的真正用武之地就是:扩充函数赖以运行的作用域。

    window.color="red";var o={color:"blue"};function sayColor(){ alert(this.color);}sayColor.call(this);   //redsayColor.call(window);  //redsayColor.call(o);  //red使用call和apply()方法最大的好处就是降低耦合, 我们不需要在对象中定义方法,当对象需要方法时,直接
让这个方法.call(对象)即可。

bind()方法:会闯一个函数的实例,其this值会被绑定到传给bind()函数的值。
window.color=“red”;
var o={color:“blue”};

function sayColor(){ alert(this.color);}var objectSayColor=sayColor.bind(o);
objectSayColor();   //blue

5.6 基本包装类型
为了便于操作基本类型值,还提供了3个特殊的引用类型:Boolean\Number和String。
实际上,每当读取一个基本类型,后台会创建一个对应的基本包装类型的对象,能够调用一些方法操作这些数据。

eg: var s1=“some text”;
var s2=s1.substring(2);

基本包装类型和引用类型的区别主要在生存期。基本包装类型的生存期在执行完即销毁,而引用类型是一直保存在内存中的。

eg:
var s1=“some text”;
s1.color=“red”; //当代码执行到这行时,创建实例对象,调用指定方法或属性,销毁。
alert(s.color); //undefined

5.6.1 Boolean类型: 不推荐使用。
Boolean类型的实例重写了valueOf()方法,返回基本类型值true和false.toString 返回字符串"true"和“false”
var falseObject=new Boolean(false);
var result=falseObject && true;
alert(result); //true

var falseValue=false;
result=falseValue && true;      
alert(result);            //false第一个创建了一个对象,在布尔表达式中的所有对象都会被转换为true,因此结果为true。alert(typeof falseObject);  //object
alert(typeof falseValue) ;  //Boolean
alert(falseObject instanceof Boolean); true
alert(falseValue instanceof Boolean ); falsetypeof对基本类型返回Boolean. 对引用类型返回object.
由于Boolean对象是Boolean类型的实例,所以为true.

5.6.2 Number 类型
Number 类型重写了valueOf()\toString等方法。
var number =10;
alert(num.toString(2)); //“1010”

toString()方法加参数,可以转换进制。

还提供了一些用于将数值格式化为字符串的方法
toFixed():按照指定小数位返回数值的字符串表示。 适用于货币值。
var num=10;
alert(num.toFixed(2)); //“10.00”

如果本身包含的小数位比指定的还多。那么指定的最后一位舍入。var num=10.005;alert(num.toFixed(2));"10.01"toExponential():返回以指数表示法表示的数值的字符串形式。var num=10;alert(num.toExponential(1)); //1.0e+1toPrecision():会根据规则看哪个表示合适返回值。接受一个函数,即表示数值的所有
位数。var num=99;alert(num.toPrecision(1));  //1e+2alert(num.toPrecision(2));   //"99"alert(num.toPrecision(3));    //"99.0"

5.6.3 String 类型
1.字符方法
charAt()和charCodeAt()。一个返回给定位置的字符,一个返回给定位置的字符编码。
var stringValue=“hello world”.
alert(stringValue.chartAt(1));“e”
alert(stringValue.chartCodeAt(1));“101”
alert(stringValue[1]); //“e” 也可以使用这种方式访问。
2.字符串操作方法
concat():将一或多个字符串拼接起来。
var stringValue=“hello “;
var result=stringValue.concat(“world”);
alert(result); //“hello world”
var result=stringValue.concat(“world”,”!”); //可拼接多个。
alert(result); //“hello world !”

slice()\substr()和substring():三个都是字符切割函数。var stringValue="hello world";alert(stringValue.slice(3));       //"lo world"alert(stringValue.substring(3));   //"lo world"alert(stringValue.substr(3));      //"lo world"alert(stringValue.slice(3,7));       //"lo w"alert(stringValue.substring(3,7));   //"lo w"alert(stringValue.substr(3,7));      //"lo worl" //substr第二个参数是返回字符个数

3.字符串位置方法
indexOf()和lastIndexOf().这两个方法都是从一个字符串中搜索给定的子字符串,返回
返回位置,如果没有返回-1.一个从前,一个从后。

第一个参数是字符串,第二个参数是搜索起始位置。  

4.trim()方法
创建一个字符串副本,删除前置及后缀的所有空格,然后返回结果。

5.字符串大小写转换方法
toLowerCase()、toUpperCase().

6.字符串的模式匹配方法
match():只接受一个参数,要么正则表达式,要么是一个RegExp对象。
var text=“cat,bat,sat,fat”;
var pattern=/.at/;

    var matches=text.match(pattern);alert(matches.index);search():一个参数,字符串或RegExp对象指定的一个正则表达式。replace()方法:var text="cat,bat,sat,fat";
var result=text.replace("at","ond");
alert(result);  //"crond"字符序列
result=text.replace(/.at/g,"word ($1)");
alert(result);   //word (cat),word (bat),word (sat),word (fat)第二个参数为函数text.replace(/[<>"&]/g,function(match,pos,originalText){switch(match){}
})var colorText="red,blue,green,yellow";
var color1=colorText.split(",");
var color2=colorText.split(/[^\,]+/);

7.localeCompare()
比较:规则就是前面的减去后面的
var stringValue=“yellow”;
alert(stringValue.localeCompare(“brick”)); //1
alert(stringValue.localeCompare(“zoo”)); //-1
8.fromCharCode()方法
接受字符编码,转换成字符出阿妹。
5.7 单体内置对象
由ECMAScript实现提供的、不依赖于宿主环境的对象,这些对象在ECMAScript程序执行前就已经存在了。
如:Oject|Array|String|Global|Math
5.7.1 Global对象
不属于任何其他对象的属性和方法,最终都是它的属性和方法。
1.URI编码方法(URI:uniform Resource Identifiers 通用资源标识符,是更高层次的URL)
Global对象的encodeURI()和encodeURIComponent()方法可以对URI进行编码。
encodeURI:用于整个URI,只对空格编码.这个作用于URL跳转的时候。
和encodeURIComponent():对任何非标准字符进行编码。 使用它,传递一个长的url不会被截断。

2.eval()方法 ==>能够解释代码字符串。
像是一个完整的ECMAScirpt解析器。只接受一个参数,即要执行的ECMAScript字符串。
eval(“alert(‘hi’)”); === alert(“hi”);

当解析器发现代码中调用eval方法时,他会将传入的参数当作实际的ECMAScript语句来解析,然后把执行结果插入到原位置。通过eval()
执行的代码被认为是包含该次调用的执行环境的一部分,因此被执行的代码具有与该执行环境相同的作用链。var msg="hello world";
eval("alert(msg)");    //hello worldeg2:
eval("fucntion sayHi(){alert("123")}");
sayHi();

3。Global 对象的属性
4.window 对象
浏览器将Global对象作为window对象的一部分加以实现。
可以取得Global对象的方法:
var global=function(){return this}();

5.7.2 Math对象
min()和max()方法
var max=Math.max(3,4,5,6123,15);
这种避免多余循环和if语句来检验最大值。

要找到数组中最大最小值,使用apply();var values=[1,2,3,45,67,4,];var max=Math.max.apply(Math,values);   //这里关键是Math作为第一个参数,正确设置了this值。

舍入方法: Math.ceil()\Math.floor()\Math.round()
4.random()方法
var num=Math.floor(Math.random()*10+1);

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 875. 爱吃香蕉的珂珂

    珂珂喜欢吃香蕉。这里有 N 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警卫已经离开了,将在 H 小时后回来。珂珂可以决定她吃香蕉的速度 K (单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 K 根。如果这堆香蕉少于 K 根,她将吃掉这堆的所有香蕉,然后这一小时内不会再…...

    2024/4/24 10:37:34
  2. javascript的笔记总结

    认识Javascript javascript是一门面向对象的跨平台的脚本语言,由 ECMAScript、BOM和DOM所组成对象(属性和方法 ) 脚本语言:不能独立运行,需要依托其他的程序(平台)来运行javascript的特点1、解释性脚本语言、 2、弱类型语言、 3、事件驱动、 4、跨平台、运行…...

    2024/4/24 10:37:33
  3. 安装和卸载程序时总是出现2502,2503错误代码的解决方法

    安装和卸载程序时总是出现2502,2503错误代码的解决方法参考文章: (1)安装和卸载程序时总是出现2502,2503错误代码的解决方法 (2)http://www.cnblogs.com/weihanli/p/4415816.html 备忘一下。...

    2024/4/24 10:37:32
  4. 机器学习“七宗罪”:影响可信度的七个常见错误

    机器学习是一个伟大的工具,它正在改变我们的世界。在许多优秀的应用中,机器学习(尤其是深度学习)比传统方法优越得多。从用于图像分类的Alex-Net到用于图像分割的U-Net,人们看到了计算机视觉和医学图像处理领域的巨大成功。近日,机器学习专家Andreas Maier在一篇文章中列出…...

    2024/4/24 10:37:38
  5. UI导航包含常用的UI设计网站大集合!

    互联网上的一切,凡是开放出来的,所有的互联网用户都有平等的权利去使用它们。于是我看着自己这些年存在浏览器里的这些网站,想了又想,它们的开发者做出这件产品,不就是为了让更多的人知道并使用它们,作为像我这类受益者,有义务主动去传播好的东西。乐于分享的模库网 为U…...

    2024/4/24 10:37:33
  6. Linux系统下搭建Zabbix5.0.0(server篇)

    环境搭建 需要LNMP环境或者LAMP环境,本文采用LNMP zabbix下载地址 zabbix5.0.0官方要求文档 安装nginx [root@node1 ~]# yum -y isntall gcc pcre-devel openssl-devel zlib-devel [root@node1 ~]# tar -zxvf nginx-1.14.0.tar.gz [root@node1 ~]# cd nginx-1.14.0/ [root@no…...

    2024/4/24 10:37:32
  7. 1021 Deepest Root (25分)(一个字短!)

    1021 Deepest Root (25分) 分析 在深度优先遍历的同时,计算连通分量的个数,以及最大深度的节点,加入set中。 第二次选第一次遍历得到的节点中的其中一个,开始深度优先遍历,得到的深度最深的节点也加入set中,从而得到所有的可以作为高度最大的树的根节点的节点。 提供一个…...

    2024/4/24 10:37:28
  8. React项目 cdn引用

    React项目 cdn引用怎么写一个一个cdn 引用的lib怎么创建一个hook为什么引用 三个js 怎么写一个一个cdn 引用的lib 怎么创建一个hook <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8" /> <script src="https…...

    2024/4/18 11:51:46
  9. 手机连接电脑安装的服务器,必成功

    手机连接电脑安装服务器 我以phpnow服务器为例 1.首先查看phpnow文件夹中找到htdocs文件夹,该文件夹为执行php文件以及html文件等等的路径2.在浏览器中输入127.0.0.1:端口号/来访问phpnow中的文件,以确保服务打开3.如果访问不了,说明服务未打开,有时候在phpnow文件夹中的Pn…...

    2024/4/15 5:35:59
  10. 判断字符串是否表示数值

    #include <iostream> #include<vector> #include<string> using namespace std; /* 题目描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。 例如,字符串"+100","5e2","-123","3.1416"和"-1…...

    2024/4/16 6:23:29
  11. Leetcode 数组 1051.高度检查器

    1051. 高度检查器 文章目录1051. 高度检查器题目:C代码 题目: 学校在拍年度纪念照时,一般要求学生按照 非递减 的高度顺序排列。 请你返回能让所有学生以 非递减 高度排列的最小必要移动人数。 注意,当一组学生被选中时,他们之间可以以任何可能的方式重新排序,而未被选中的…...

    2024/4/20 16:13:52
  12. 无向图的最大割问题(分支限界)

    一、需求分析0.问题描述给定一个无向图G=(V, E),设是G的顶点集。对任意(u, v)∈E,若u∈U,且v∈V-U,就称(u, 1)为关于顶点集U的一条割边。顶点集U的所有割边构成图G的一个割。G的最大割是指G中所含边数最多的割。对于给定的无向图G,设计一个优先队列式分支限界法,计算G的最大割…...

    2024/4/24 10:37:27
  13. OGG:查看日志文件和trail中的事务

    1、背景 goldengate的基本原理是:按最简单的单项复制结构为例由3个模块构成:extract抽取、pump投递、replicat复制;2个文件trail:主机本地队列、备机远程队列。 在主机侧:extract抽取redo中的事务,放到本地trail中;然后pump把本地trail投递到远端备机的远程trail。 在备…...

    2024/4/24 10:37:26
  14. MyBatis框架知识

    MyBatis框架学习记录资料下载工欲善其事必先利其器What is MyBatis?MyBatisORM数据持久化MyBatis的优缺点MyBatis应用 MyBatis基本要素 开发步骤 Mapper映射文件动态SQL一对一和一对多注解式MyBatis 资料下载工欲善其事必先利其器jar文件下载: http://www.mybatis.cn/82.html…...

    2024/4/24 10:37:25
  15. 需求说明书评测内容

    需求说明书评测作为需求分析阶段工作的复查手段,应该对功能的正确性、完整性和清晰性,以及其他需求给予评测。评测的主要内容是:系统定义的目标是否与用户的要求一致;系统需求分析阶段提供的文档资料是否齐全;文档中的所有描述是否完整、清晰,准确地反映用户要求;与所有…...

    2024/4/24 10:37:25
  16. Linux实训笔记第三周

    前言 道路很远,脚步更长!启航吧,骚年 接上文,继续具体的多线程和网络编程。其实还讲了QT,但大部分人估计都知道,内容实在是繁杂,然而本人又没系统的学过PC端的GUI编程😢,如果以后有时间系统的学了QT,会写点关于QT的笔记,记录PC端GUI编程的经验!这里就不多BB了。 Li…...

    2024/4/24 10:37:23
  17. 论文笔记:Identifying Lung Cancer Risk Factors in the Elderly Using Deep Neural Network - Chen, Wu

    论文笔记:Identifying Lung Cancer Risk Factors in the Elderly Using Deep Neural Network - Chen, Wu 原文链接 Identifying Lung Cancer Risk Factors in the Elderly Using Deep Neural Network个人投稿,只为记录,图文来自原论文,如有侵权请告知,马上删除。(求生欲爆…...

    2024/4/24 10:37:29
  18. 数据分析学习笔记(三)业务

    数据分析学习笔记(三)业务为什么业务重要经典的业务分析指标指标市场营销指标产品运营指标AARRR用户获取用户活跃用户留存营收传播用户行为指标用户行为功能使用用户会话用户路径电子商务指标购物篮分析好基友:复购率和回购率流量指标浏览量和访客量访客行为退出率和跳出率怎…...

    2024/4/24 10:37:24
  19. DIV+CSS应用技巧及实战要点总结,想知道这些技巧的小伙伴速进群提问,每问必答

    1、什么时候高度固定,什么时候高度不固定? 参考本文的分享:https://blog.csdn.net/cuijuntao/article/details/106543546 2、什么时候用overflow:hidden切断,什么时候不能用? 3、宽度什么时候用百分比,什么时候用具体数值? 4、网页主体部分水平居中排版 5、级联弹出式菜单的…...

    2024/4/24 10:37:27
  20. hualinux 编程概念 3.8:解决http无状态 session cookie token发展史(新手必看!)

    目录一、前言二、 session2.1 session概述2.2 session缺点2.3 cookie的产生三、cookie3.1 cookie介绍3.1.1 概述3.1.2 cookie分类3.2 cookie缺点四、解决http无状态的几种方式4.1 Session的实现方式4.1.1 使用Cookie来实现4.1.2 使用URL回写来实现4.1.3 通过表单变量保持状态4.…...

    2024/4/24 10:37:19

最新文章

  1. vue2 点击预览本地 word excle pdf 文件

    安装 考虑到三个包加一起的话会比较大&#xff0c;所以拆成了三个包&#xff0c;需要哪个自行安装即可。 //docx文档预览组件 npm install vue-office/docx//excel文档预览组件 npm install vue-office/excel//pdf文档预览组件 npm install vue-office/pdf npm i --save vue…...

    2024/4/30 16:06:42
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. composer常见错误解决

    在Java中&#xff0c;常见的问题和解决方法包括&#xff1a; 内存不足错误&#xff1a;Java应用程序在运行时可能会遇到内存不足的错误。可以通过增加JVM的堆内存大小来解决&#xff0c;可以通过设置-Xms和-Xmx参数来指定初始堆大小和最大堆大小。 java -Xms2G -Xmx4G YourAppl…...

    2024/4/30 3:27:03
  4. STM32-GPIO

    &#x1f913;&#x1f913;&#x1f913; 122.1 2.22.3 344.14.24.34.44.54.64.74.8 56788.18.299.19.2 STM32 第一个外设 1 对我们来说 和IO口没区别 ST公司非叫GPIO 2 2.1 第二个是超频了 F1 72M 这翻转就36 2.2 有cmos 和ttl两种数据手册里给出整个芯片最低电流为150ma 单…...

    2024/4/30 3:15:27
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/29 23:16:47
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/29 6:03:24
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/29 14:21:50
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/25 18:39:14
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/26 23:04:58
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/30 9:43:22
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57