js基础知识

js基础知识
js基础知识

Js1k:用1k的代码做出炫目的效果。代码扩写

犀牛书

微信公众号:前端大全

1. ***变量

2. ***数据类型

一.***变量:内存中存储*一个*数据的存储空间,再起一个名字

何时使用:程序中反复使用的数据,都要先保存在变量中,再参与运算

如何使用:声明赋值取值

1. 声明:在内存中创建一个新变量

如何声明:var 变量名;

仅声明,但暂未赋值,默认值为undefined

变量命名:1. 不能以数字开头,仅能包含字母,数字和下划线

2. 不能用保留字:js中已经预先使用的关键字

比如:name X

3. 见名知意

4. 驼峰命名:第一个单词首字母小写,

之后每个单词首字母大写:

比如:backgroundColor,listStyleType

2. 赋值:将等号*右边*的数据,保存到等号*左边*的变量中

如何赋值:变量名=值;il

*对已经包含值的变量赋新值,新值会替换旧值*

建议:1. 在声明同时,初始化变量的值

如何在声明同时初始化:var 变量名=值;

3. 取值:只要使用变量名,在运行时,会被自动替换为变量中的值

特殊情况:3种:

1. 只声明,但未赋值的变量,可任意使用

比如:var hb; console.log(hb); //undefined

2. 从未声明的变量,不能使用(取值)!

报错:ReferenceError: XXX is not defined

3. 未声明的变量,却可赋值!——其实和var不一样

强烈建议:必须用var声明变量

***声明提前:在程序正式*执行前*,都会将var声明的变量提前到*当前脚本块*的顶部集中声明。再开始执行程序。***赋值留在原地***

常量:一旦初始化,值不能改变的量

何时使用:程序中,一旦定义不可擅自改变的值,都要用常量保存

如何创建:const 常量名=值;

用作常量的名称,都要大写字母

强行修改常量的值,不会报错,但也无法修改成功!

二. ***数据类型:数据在内存中的存储形式

1.为什么要有不同数据类型:现实中,不同类型的数据,都有专门的用途

2.数据类型:2大类:*原始类型*的值和*引用类型*的对象

原始类型:值直接保存在变量本地的类型(值为一个,而且不能特别复杂)原始类型5类:Number String Boolean undefined null 引用类型:值没有直接保存在变量本地的类型

变量中只保存指向实际数据所在位置的地址值

1. Number:表示所有数字,即可表示整数,又可表示浮点数(小数)

如何定义:凡是不加引号的数字,都是Number类型数据

何时使用:只要做计算或比较的数字,都不加引号

比如:年龄价格

所占空间:所有数字都是用64位二进制数(8字节)存储

(个别)整数采用32位二进制(4字节)存储

1byte=8Bit

字节位

结论:数值大小和所占空间,无关。

十进制转2进制:var i=500; console.log(i.toString(2));

舍入误差:计算机中也有无法精确计算的数字而导致的计算结果进度偏差。—不可避免

解决:按指定小数位数四舍五入

n.toFixed(2)-->将计算结果按2位小数四舍五入

2.String:字符串,表示所有文字信息

如何定义:凡是用作显示的信息都要加引号,单双引号不分

何时使用:凡是用作显示的信息都要加引号

比如:手机号身份证号QQ号

js中没有字符类型,所以一个字也要加引号。

所占空间:每个英文字母或数字,1字节

每个汉字,2字节

js的内存中都是用字符的unicode号存储字符

unicode:人为给主要语言中的每个字符编一个号

***字符串内容一旦创建,值不可改变,非要改变,只能用新字符串替换旧字符串。

特殊:+运算中,如果参与运算的都是字符串,则加法变为字符串拼接

var str="Hello";

str=str+"World"

console.log(str); //过程中共创建了几个字符串//3个

字符串不能修改是。

Day 02

回顾:

1. js数据类型:2大类:

原始类型: 5个Number String Boolean undefined null

引用类型

Boolean类型:只有两个值:true , false

何时使用:主要保存对/错,真/假, 成立/不成立,都用boolean类型

如何定义:不带引号的true和false就是boolean类型

正课:

1. ***数据类型转换

2. ***运算符和表达式

1. ***数据类型转换:

***js是弱类型编程语言:3点:

1. 声明变量时,不用考虑变量中将要存储的数据类型

2. 赋值时,动态判断数据的类型

因为是动态判断同一个变量,先后可保存不同类型的数据。

3. 运算时,js会根据自己的需要,动态转换数据类型

2大类:

1. 隐式转换:无需程序员干预,而自动完成的转换

先讨论算数运算中的隐式转换:

规律:1). 默认一切转数字类型,做算数计算

bool类型:true-->1 false-->0

2). +法中,只要有一个是字符串,都转为字符串,+变为字符串拼接

其他类型转字符串: 在字面量前后直接加引号

(转字符串:true-->”true”)表达式:由数据,变量和运算符组成的公式

*默认,从左向右,两两计算

NaN(Not a Number):“不是一个数字”的“数字(类型:指的是数字类型)”

何时遇到:当无法转为数字时,或无法正常计算时,结果都为NaN

特点:和任何数据做计算,结果永远为NaN

加法计算中,碰上字符串,也会转为"NaN"

typeof(x): 返回x的数据类型名称: Number String Boolean

undefined

typeof(x): 可以测任意一个数据的数据类型(原始类型)

2. 强制转换:程序员主动调用专门函数完成的转换

1. 任意to String:2种:

1)var str=x.toString();

2)var str=String(x);-->相当于隐式转换

***String(x):万能

x.toString(): null和undefined转不了

何时使用:通常都是js在需要时,自动调用

原理:function String(x){

If(x===undefined){

return “undefined”;

}else if(x==null){

Return “null”;

}else{

Return x.toString();

}

}

2. ***任意to Number:3种:

Number有自动去除空格的功能

1. 任意to Number:var n=Number(x);-->隐式

何时使用:将非字符串类型转为数字时使用

将纯数字组成的字符串转为数字类型时

特例:Number("")-->0

Number(null)-->0

Number([])-->0

Number(undefined)-->NaN(not a number 参

与任何算术计算,结果永远为NaN; 不大于不小

于不等于任何值[包括自己] NaN!=NaN。出

现nan说明转不了,要返回检查。)

2. String to Number:

1. to 整数:var n=parseInt(str);默认情况下放字符串

何时使用:将*字符串*转为整数时使用

如果传入的不是字符串,则先隐式转为String

原理:从头开始读取字符串中每个字符

跳过*开头的*空字符只读取数字字符

只要碰到第一个不是数字的字符,就退出不认识小数点

Number( x) vs parseInt(str):

Number只认识纯数字组成的字符串

Number却可转bool类型

parseInt(str)认识包含非数字字符的字符串开头位置的数字

parseInt转不了bool

2. String to 浮点数:var n=parseFloat(str);

何时使用:只要将字符串转为小数时

用法和parseInt用法完全一样。

只认第一个碰到的小数点。

3. 任意类型to Boolean: var bool=Boolean(x);

"" 0 NaN undefined null -->false

其余都是true

课堂练习:获取用户输入,保存在变量input中

var input=[window.]prompt("输入提示");

***凡是从页面上进来的,都是字符串!***

2. 运算符和表达式:

程序:*人的想法*在计算机中的执行步骤

运算符:程序中模拟人的思维运算或判断的符号

表达式:由数据,变量和运算符组成的一个公式

任何表达式都有返回值。

算数运算符:+ - * / % ++ --

返回值:只能是number,如果运算无效,返回NaN

算式运算中:隐式转换:默认转Number,再进行转换。

特殊情况:+法中,碰到字符串,都转字符串,再拼接%模运算(取余数):m%n : m/n,取除不尽的余数部分

何时:1. 判断能否整除:

比如:判断奇偶数:

m%2等于0,说明m是偶数

m%2不等于,说明m是奇数

2. 限制计算结果,永远小于除数:

***递增,递减运算:++ --,也是赋值运算。

n++: n=n+1; 将n中的值+1,后再保存回n中

2种情况:都将n中的值+1

++n: 前++, 返回*新*值

n++: 后++, 返回*旧*值

前++,后++,变量值都会增加1,但是返回值不一样

例子:var my=10;

var lp=my++;

console.log(lp);//10

console.log(my);//11

var my=10;

var lp=++my;

console.log(lp);//11

console.log(my);//11

++n或n++单独使用,无影响;

如果参与其它表达式中时,会影响执行结果。

关系运算:做比较,比大小

返回值:true、false

隐式转换:默认都转为数字再比较

特殊情况:

1. 如果无法转为数字:转为NaN

NaN不等于,不大于,不小于任何值,甚至自己

NaN!=x-->true

isNaN(num): 专门判断一个num数值是否为NaN

如果是NaN,就返回true,否则返回false

何时使用:只要判断一个数字无效,就用isNaN

开发中何时使用:*反着用*

用isNaN判断一个num是不是数字,或是否能被隐式转为数字使用。

!isNaN(num): 返回true-->num是数字

返回false-->num不是数字

2. 如果两个都是字符串,则按位pk每个字符的unicode号

*************Number隐式转换会把空字符串转为0;****************

回顾:

关系运算:做比较,做判断,只可能返回true/false

> < >= <= != == -->都带隐式转换

|-------11-----| |--10--|

隐式转换:默认都转为number

特殊:3种

1. 如果无法隐式转为Number,会转为NaN

NaN不等于,不大于,不小于任何值

NaN!=x 永远返回true

isNaN(num): 如果num是数字,返回false

不是数字,返回true

何时使用:判断num是不是数字,或能否被隐式转为数字

!isNaN(num): 如果num是数字,返回true 不是数字,返回false

正课:

1. ***运算符和表达式:

***关系运算

***逻辑运算:

位运算:

扩展赋值运算:

***三目运算:

***关系运算:

特殊情况:

2. undefined vs null

undefined:所有变量的默认初始值,自动赋值

null:主动清空一个变量,释放一个对象

typeof的检测结果:

typeof(undefined)-->undefined

typeof(null)-->object

===: 全等首先类型必须相同,其次值相同

10 全等不带隐式转换

何时使用:要求类型相同,且值相等时

3. 如果参与比较的两个值都是字符串类型

不再转数字,而是pk 每个字符的unicode号

比如:"jerry"<"scott"<"smith"

"jerry"<"scott"

"j"106<"s"115

"scott" "smith"

"s" "s"

"c"99 <"m"109

总结:凡是条件:一般都是关系运算或逻辑运算(关系运算和逻辑运算天生就是当条件的)

***逻辑运算:多个条件(关系运算),综合得出最后的结论,只可能返回true/false 隐式转换:默认转换为bool类型:Boolean(x)

何时使用:只要综合多个条件,得出最终结论

如何使用:3种:

&&: 读作且,程序中称为"逻辑与"

条件1&&条件2:必须条件1和条件2都为true,结果为true

只要任意一个为false,结果为false ||: 读作或,程序中称为"逻辑或"

条件1||条件2:只要任意一个条件为true,结果为true

只有所有条件都为false,结果才为false !: 读作不,程序中称为"非"

!条件:颠倒条件的true/false结果

运算符优先级:

() ++ -- !*/% + - <>>=<= != == ===

19 前15 15 14 13 11 10

后16

&& || 三目赋值

6 5 4 3

***短路逻辑:逻辑运算中,如果前一个条件已经可以得出最终结论,则后续所有条件不再执行!

PPT:短路逻辑:鄙视题

***利用短路逻辑实现按条件执行语句

条件&&操作:如果满足条件,才执行操作,否则,什么也不做

何时使用:1个条件,1件事,满足就做,不满足就不做利用逻辑或实现默认值效果或二选一取值

值1||值2:如果值1有效,就返回值1,否则返回值2

比如可以代替if语句,优先级的关系,若是&&后面是赋值的运算,最好加上括号,因为赋值的等号的优先级特别低。

例子:var price=prompt(“输入金额”);

If (price>=100){price=price*0.8}等同于(price>=100)&&(price=price*0.8)若用扩展简写,price*=0.8

例题:主人很懒

鄙视题:4&&5 4||5 0&&5 0||5 输出结果?

alert(4&&5);//5 alert(boolean())

alert(4||5);//4

alert(0&&5);//0

alert(0||5);//5

/*在逻辑运算中都自动转为boolean类型进行运算,由true或者false来看要不要进一步判断,逻辑运算的返回值不一定是布尔值

在利用短路逻辑时候,不再返回布尔值,若参与运算的都是值将在两个值之间选择一个返回位运算:直接由二进制进行的运算,将数值的二进制左移或右移n位

左移n位:*2的n次方。1<<3,即1左移3位,是8。

右移n位:/2的n次方。n<

固定套路:取整数:n>>>0 n^0 n|0

var n=34.56;

undefined

n>>>0

34

n^0

34

n|0

34

这三种方法都可以取整,是一个固定用法。

*赋值运算:基本赋值运算:=,将等号的右边的值保存在左边的变量中。赋值表达式也有返回值,会返回将要保存回变量的新值。

所有表达式都会返回一个结果,即都有返回值。

***赋值运算的结果,是等号右侧表达式的值!

chrome的控制台中:输入一个表达式,直接按回车,控制台默认输出表达式的结果

扩展赋值运算:对变量内部的值进行修改的简写方法

比如:total=total*0.8; -->total*=0.8; a=a+5-->a+=5表示累加;

a/=5,a%=5;

何时使用扩展赋值运算:需要修改变量中的值,再存回变量中

包括:+= -= *= /= %= 用法完全一样

***三目运算(条件运算三元):根据不同条件,判断执行不同操作,或返回不同的值

何时使用:多个条件,多件事,必须多选一执行!

如何使用:

条件1?操作1:

条件2?操作2:

...?... :

默认操作;

特点:1. 如果前一个条件已经满足,则不再向下判断

保证每次只可能有一个操作被执行

2. *默认操作不能省略!*

js基础知识

Js1k:用1k的代码做出炫目的效果。代码扩写 犀牛书 微信公众号:前端大全 1. ***变量 2. ***数据类型 一.***变量:内存中存储*一个*数据的存储空间,再起一个名字 何时使用:程序中反复使用的数据,都要先保存在变量中,再参与运算 如何使用:声明赋值取值 1. 声明:在内存中创建一个新变量 如何声明:var 变量名; 仅声明,但暂未赋值,默认值为undefined 变量命名:1. 不能以数字开头,仅能包含字母,数字和下划线 2. 不能用保留字:js中已经预先使用的关键字 比如:name X 3. 见名知意 4. 驼峰命名:第一个单词首字母小写, 之后每个单词首字母大写: 比如:backgroundColor,listStyleType 2. 赋值:将等号*右边*的数据,保存到等号*左边*的变量中 如何赋值:变量名=值;il *对已经包含值的变量赋新值,新值会替换旧值* 建议:1. 在声明同时,初始化变量的值 如何在声明同时初始化:var 变量名=值; 3. 取值:只要使用变量名,在运行时,会被自动替换为变量中的值 特殊情况:3种: 1. 只声明,但未赋值的变量,可任意使用 比如:var hb; console.log(hb); //undefined 2. 从未声明的变量,不能使用(取值)! 报错:ReferenceError: XXX is not defined 3. 未声明的变量,却可赋值!——其实和var不一样 强烈建议:必须用var声明变量 ***声明提前:在程序正式*执行前*,都会将var声明的变量提前到*当前脚本块*的顶部集中声明。再开始执行程序。***赋值留在原地*** 常量:一旦初始化,值不能改变的量 何时使用:程序中,一旦定义不可擅自改变的值,都要用常量保存 如何创建:const 常量名=值; 用作常量的名称,都要大写字母 强行修改常量的值,不会报错,但也无法修改成功!

零基础js入门试题

零基础js入门试题

————————————————————————————————作者:————————————————————————————————日期:

1,什么是Javascript? 答:Javascipt是一种脚本语言,由web浏览器进行解释和执行。 2,JavaScript是由那几个部分组成? 答:主要分为以下三种: ECMAScript : 核心 DOM : 文档对象模型 BOM : 浏览器对象模型 3,请写出两种将Javascript的应用到网页的方式 答: 方法一:将javascript代码插入html文档部分的 方法二:将javascript代码存放在一个独立的文件。用.js作为文件的扩展名,再利用 4,如何定义一个变量?变量的命名规则有哪些? 答:变量由var 运算符加变量名定义,如: var num = 24; var name= ‘金团网’; 命名规则第一个字符必须是字母、下划线(_)、或美元符号($); 变量名中不能包含空格或标点符号($ 除外); 变量名区分大小写; 不能使用保留字; 为了让变量名有更好的可读性,可以在变量名中适当的插入下划线分隔,如:var my_name = ‘金团网’; 5,Javascript的常用的几种数据类型有哪些?

Vue.js基础知识汇总

Vue.js 专注于MVVM 模型的ViewModel 层。它通过双向数据绑定把View 层和Model 层连接了起来。Vue.js和其他库相比是一个小而美的库,作者的主要目的是通过一个尽量简单的API 产生可反映的数据绑定和可组合的视图组件,感觉作者的思路非常清晰。 介绍 vue.js 是用来构建web应用接口的一个库 技术上,Vue.js 重点集中在MVVM模式的ViewModel层,它连接视图和数据绑定模型通过两种方式。实际的DOM操作和输出格式被抽象的方式到指令(Directives)和过滤器(Filters) 在哲学领域内,尽量让MVVM数据绑定API尽可能简单。模块化和可组合性也是重要的设计考虑。vue不是一个全面的框架,它被设计成简单的和灵活的。你可以用它快速原型,或混合和匹配与其他库定义前端堆栈。 Vue。js的API是参考了AngularJS、KnockoutJS Ractive.js Rivets.js。尽管有相似之处,我相信Vue.js提供一个有价值能够让你在现在的一些现有框架中舍取其价值即使你已经熟悉其中的一些术语,建议您通过以下概念的概述,因为你的这些术语的概念可能在Vue.js的下文中有所不同 概念概述 ViewModel 一个对象,同步模型和视图. 在Vue.js中,ViewModels是实例化的Vue的构造器或者是它的子类 var vm = new Vue({ /* options */ }) 这是主要的对象,你会与作为开发人员在使用Vue.js交互。更多细节请参阅Class: Vue. View 用户看到的实际HTML / DOM vm.$el // The View 当使用Vue.js时候,除了自己自定义的指令你几乎不会触碰到DOM的操作,当数据更新后视图的更新将会自动的触发,视图的更新可以很精确的到每一个testNode节点,他们也批处理和异步执行从而提供更好的性能。 Model 这是一个略微修改的Javascript对象 vm.$data // The Model 在Vue.js中,模型只是简单的Javascript对象,数据对象,你能够操控他们的属性和视图模型,观察他们的从而能获取通知后更改。Vue.js在data对象胡总用ES5的getter/setter 把属性转化了,它允许直接操作而不需要脏检查。 data对象在适当的时候会产生突变,所以修改它与通过引用修改vm.$data是一样的效果。这也方便了多个ViewModel实例观察同一块数据。 技术细节请看Instantiation Options: data. Directives 私有的HTML属性是告诉Vue.js做一些关于DOM的处理 <div v-text="message"></div> 这里的div元素有一个v-text的指令,值是message.意思是告诉Vue.js 保持这个div节点的内容与viewMode中的message属性同步 指令可以封装任意DOM操作。例如v-attr 操作一个属性元素,v-repeat克隆基于数组的

js基础测试题

1、分析下段代码输出结果是() var arr = [2,3,4,5,6]; var sum =0; for(var i=1;i < ;i++) { sum +=arr[i] } (sum); A.20 B.18 C.14 D.12 2、以下关于 Array 数组对象的说法不正确的是() A.对数组里数据的排序可以用 sort 函数,如果排序效果非预期,可以给 sort 函数加一个排序函数的参数 B.reverse 用于对数组数据的倒序排列 C.向数组的最后位置加一个新元素,可以用 pop 方法 D.unshift 方法用于向数组删除第一个元素 3、以下代码运行的结果是输出( ) var a = b = 10; (function(){ var a=b=20 })(); (b); A.10 B.20 C.报错 D.undefined

4、以下代码运行后的结果是输出( ) var a=[1, 2, 3]; ()); A.123 B.1,2,3 C.1 2 3 D.[1,2,3] 5、在 JS 中,’1555’+3 的运行结果是( ) A.1558 B.1552 C.15553 D.1553 6、以下代码运行后弹出的结果是( ) var a = 888; ++a; alert(a++); A.888 B.889 C.890 D.891 7、关于变量的命名规则,下列说法正确的是() A.首字符必须是大写或小写的字母,下划线(_)或美元符($)B.除首字母的字符可以是字母,数字,下划线或美元符 C.变量名称不能是保留字 D.长度是任意的 E.区分大小写

8、下列的哪一个表达式将返回值为假() A.!(3<=1) B.(4>=4)&&(5<=2) C.(“a”==“a”)&&(“c”!=“d”) D.(2<3)||(3<2) 9、下面代码,k的运行结果是() var i = 0,j = 0; for(;i<10,j<6;i++,j++){ k = i + j; } A.16 B.10 C.6 D.12 10、var x = 1; function fn(n){n = n+1}; y = fn(x); y 的值为()A.2 B.1 C.3 D.undefined 11、[1,2,3,4].join("0").split("") 的执行结果是() A."1,2,3,4" B.[1,2,3,4] C.[“1”,“0”,“2”,“0”,“3”,“0”,“4”] D."1,0,2,0,3,0,4"

js基础术语和概念总结

JavaScript基础术语和概念总结 一、什么是JavaScript ? JavaScript 是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、Java 脚本语言(Java 小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用。它的出现使得信息和用户之间不仅只是一种显示和浏览的关系,而是实现了一种实时的、动态的、可交式的表达能力。 二、JavaScript的特点 JavaScript 是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言,主要用于创建具有交互性较强的动态页面。其具有以下特点: 1)基于对象:JavaScript 是基于对象的脚本编程语言,能通过DOM(文档结构模型)及自身提供的对象及操作方法来实现所需的功能。 2)事件驱动:JavaScript 采用事件驱动方式,能响应键盘事件、鼠标事件及浏览器窗口事件等,并执行指定的操作。 3)解释性语言:JavaScript 是一种解释性脚本语言,无需专门编译器编译,而是在嵌入JavaScript 脚本的HTML 文档载入时被浏览器逐行地解释,大量节省客户端与服 务器端进行数据交互的时间。 4)实时性:JavaScript 事件处理是实时的,无须经服务器就可以直接对客户端的事件做出响应,并用处理结果实时更新目标页面。 5)动态性:JavaScript 提供简单高效的语言流程,灵活处理对象的各种方法和属性,同时及时响应文档页面事件,实现页面的交互性和动态性。 6)跨平台:JavaScript 脚本的正确运行依赖于浏览器,而与具体的操作系统无关。只要客户端装有支持JavaScript 脚本的浏览器,JavaScript 脚本运行结果就能正确反 映在客户端浏览器平台上。 7)开发使用简单:JavaScript 基本结构类似C 语言,采用小程序段的方式编程,并提供了简易的开发平台和便捷的开发流程,就可以嵌入到HTML 文档中供浏览器解 释执行。同时JavaScript 的变量类型是弱类型,使用不严格。 8)相对安全性:JavaScript 是客户端脚本,通过浏览器解释执行。它不允许访问本地

web前端基础知识

2012-5-15 [成就源于整理] | oush [深圳残 友动漫] 静态页面效果代码

目录 1.获取当前日期和星期 (2) 2.繁简中文转换 (2) 3.支持ff和ie的滤镜效果样式 (2) 4.让ie6实现li的hover事件代码 (3) 5.首页菜单效果 (3) 6.鼠标经过时菜单显示不一样的背景js (5) 7.banner效果 (6) 8.兼容两种浏览器,通常方法 (6) 9.用样式实现div的圆角 (7) 10.如何在ie6及更早浏览器中定义小调试的容器 (7) 11. 如何解决IE6及更早浏览器浮动时产生双倍边距的BUG (7) 12. 如何在IE6及更早浏览器下模拟min-height效果 (7) 13.如何解决按钮在IE7及更早浏览器下随着value增多两边留白也随着增加的问题.. 8 14.如何解决IE7及更早浏览器下当li中出现2个或以上的浮动时,li之间产生的空白间隙的BUG (8) 15.如何解决IE6下的文本溢出BUG (8) 16.如何使文本溢出边界显示为省略号 (8) 17. 如何使连续的长字符串自动换行 (9) 18.如何让已知高度的容器在页面中水平垂直居中 (9) 19. 如何做1像素细边框的table (9) 20. 如何在点文字时也选中复选框或单选框 (9) 21.渐变背景色css3 (9) 22.加载在线jquery (10) 23.鼠标经过时宽度加长 (10) 24.跳转下拉菜单 (10) 25.去除超链接虚线框 (10) 26.显示子菜单封装类 (10) 27. 实现图片延迟加载 (11) 28.动态获取当前时间 (11) 29.百度地图API,地图生成工具 (12) 30.返回到顶部 (12) 31.刷新页面的js方法 (13) 32.固定层div样式 (13) 33.高级样式 (13) 34.激活hasLayout (14)

js基础测试题

一、选择题(每题 2 分,多选题错选、少选不得分) 1、分析下段代码输出结果是() var arr = [2,3,4,5,6]; var sum =0; for(var i=1;i < arr.length;i++) { sum +=arr[i] } console.log(sum); A.20 B.18 C.14 D.12 2、以下关于Array 数组对象的说法不正确的是() A.对数组里数据的排序可以用sort 函数,如果排序效果非预期,可以给sort 函数加一个排序函数的参数 B.reverse 用于对数组数据的倒序排列 C.向数组的最后位置加一个新元素,可以用pop 方法 D.unshift 方法用于向数组删除第一个元素

3、以下代码运行的结果是输出( ) var a = b = 10; (function(){ var a=b=20 })(); console.log(b); A.10 B.20 C.报错D.undefined 4、以下代码运行后的结果是输出( ) var a=[1, 2, 3]; console.log(a.join()); A.123 B.1,2,3 C.1 2 3 D.[1,2,3] 5、在JS 中,’1555 ’+3 的运行结果是( )

A.1558 B.1552 C.15553 D.1553 6、以下代码运行后弹出的结果是( ) var a = 888; ++a; alert(a++); A.888 B.889 C.890 D.891 7、关于变量的命名规则,下列说法正确的是() A.首字符必须是大写或小写的字母,下划线(_)或美元符($ )B.除首字母的字符可以是字母,数字,下划线或美元符 C.变量名称不能是保留字 D.长度是任意的 E.区分大小写

JS基础阶段考试试题

H5-JS基础试题姓名:班级:成绩: 一、单选题(每小题1分,20小题,共60分) 1、null,undefined,”瑳楲杮,20,true和false的共同点是() A、都是对象 B、都有相同的实例属性 C、都是原始值 D、都是函数 2、下列哪个正确的引入了myScript.js() A、 JavaScript代码的出现位置 (1) HTML页面主体部分() 例01.html

(2) HTML页面头部() 02.html (3) 单独的外部文件 03.html 数据类型 JavaScript支持基本数据类型和对象类型(1)基本数据类型 整型 浮点型 字符型 布尔型 (2)对象类型 内置对象 (String、Math、Date) 浏览器对象(Window、Document、History,Forms、…) 用户自定义对象 变量 (1)命名规则: <1>必须以字母、下划线或美元符号开头,

相关主题
相关文档
最新文档