到函数,对象还没改
This commit is contained in:
229
js1/1.基础.md
Normal file
229
js1/1.基础.md
Normal file
@@ -0,0 +1,229 @@
|
|||||||
|
# 基础
|
||||||
|
|
||||||
|
1. 写出js的组成
|
||||||
|
|
||||||
|
2. 写出js三种引入方式 并举例
|
||||||
|
|
||||||
|
3. 列举几种js 交互方式
|
||||||
|
|
||||||
|
4. 说明常量和变量的区别
|
||||||
|
|
||||||
|
5. js中用什么定义变量和常量 声明两个变量和一个常量
|
||||||
|
|
||||||
|
6. 如何交换两个变量的值
|
||||||
|
|
||||||
|
7. 变量命名规则
|
||||||
|
8. js中的数据类型有几种 分别包括
|
||||||
|
9. 检测数据类型的方式 分别说明优缺点
|
||||||
|
10. typeof 检测数据类型的返回值都有什么
|
||||||
|
11. 列举几种js交互方式
|
||||||
|
|
||||||
|
12.从弹框中输入一个字符 点击确定从控制台打印用户输入的值
|
||||||
|
|
||||||
|
13. 基本数据类型和引用数据类型的区别
|
||||||
|
|
||||||
|
14. js 注释有几种写法
|
||||||
|
|
||||||
|
15.下面代码的执行结果为
|
||||||
|
```angular2html
|
||||||
|
var a = "abcde";
|
||||||
|
var b = "千古壹号";
|
||||||
|
var c = "123123";
|
||||||
|
var d = '哈哈哈哈哈';
|
||||||
|
var e = "";
|
||||||
|
|
||||||
|
var f = haha;
|
||||||
|
|
||||||
|
console.log(typeof a);
|
||||||
|
console.log(typeof b);
|
||||||
|
console.log(typeof c);
|
||||||
|
console.log(typeof d);
|
||||||
|
console.log(typeof e);
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
16. 列举js中的转义字符
|
||||||
|
17. 分别取15题中的字符串的长度
|
||||||
|
18. 把15题中的6个字符串拼接成一个
|
||||||
|
19.下面代码的执行结果为
|
||||||
|
```angular2html
|
||||||
|
var str1 = '千古壹号' + '永不止步';
|
||||||
|
var str2 = '千古壹号' + 666;
|
||||||
|
var str3 = '千古壹号' + true;
|
||||||
|
var str4 = '千古壹号' + null;
|
||||||
|
var str5 = '千古壹号' + undefined;
|
||||||
|
|
||||||
|
var obj = { name: '千古壹号', age: 28 };
|
||||||
|
var str6 = '千古壹号' + obj;
|
||||||
|
```
|
||||||
|
20.下面代码的执行结果为
|
||||||
|
|
||||||
|
```angular2html
|
||||||
|
var a = true;
|
||||||
|
console.log(typeof a);
|
||||||
|
```
|
||||||
|
|
||||||
|
21. 下面代码的执行结果为
|
||||||
|
|
||||||
|
```angular2html
|
||||||
|
var a = 100;
|
||||||
|
console.log(typeof a);
|
||||||
|
|
||||||
|
var b = 12.3;
|
||||||
|
console.log(typeof a);
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
22. 下面代码的执行结果为
|
||||||
|
|
||||||
|
```angular2html
|
||||||
|
console.log("abc" / 18);
|
||||||
|
|
||||||
|
console.log("abc" * "abcd");
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
23. 下面代码的执行结果为
|
||||||
|
```angular2html
|
||||||
|
console.log("我" + "爱" + "你");
|
||||||
|
console.log("我+爱+你");
|
||||||
|
console.log(1+2+3);
|
||||||
|
```
|
||||||
|
```angular2html
|
||||||
|
var a = "1";
|
||||||
|
var b = 2;
|
||||||
|
console.log(a + b);
|
||||||
|
```
|
||||||
|
|
||||||
|
```angular2html
|
||||||
|
var a = 1;
|
||||||
|
var b = 2;
|
||||||
|
console.log("a" + b);
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
24.下面代码的执行结果为
|
||||||
|
```angular2html
|
||||||
|
var a = "4" + 3 - 6;
|
||||||
|
console.log(a);
|
||||||
|
```
|
||||||
|
|
||||||
|
25. 下面代码的执行结果为 并解释原因
|
||||||
|
```angular2html
|
||||||
|
var a = 0.1 + 0.2;
|
||||||
|
console.log(a);
|
||||||
|
```
|
||||||
|
|
||||||
|
26. 下面代码的执行结果为
|
||||||
|
```angular2html
|
||||||
|
var a = 1;
|
||||||
|
var b = 2;
|
||||||
|
var c = 3;
|
||||||
|
a = b + c;
|
||||||
|
b = c - a;
|
||||||
|
c = a * b;
|
||||||
|
console.log(a);
|
||||||
|
console.log(b);
|
||||||
|
console.log(c);
|
||||||
|
```
|
||||||
|
|
||||||
|
27. 下面代码的执行结果为
|
||||||
|
```angular2html
|
||||||
|
var a = "3";
|
||||||
|
var b = 2;
|
||||||
|
console.log(a-b);
|
||||||
|
```
|
||||||
|
|
||||||
|
28. 下面代码的执行结果为
|
||||||
|
```angular2html
|
||||||
|
var myObj = null;
|
||||||
|
cosole.log(typeof myObj);
|
||||||
|
```
|
||||||
|
|
||||||
|
29. 下面代码的执行结果为
|
||||||
|
```angular2html
|
||||||
|
let name;
|
||||||
|
console.log(name);
|
||||||
|
console.log(typeof name);
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
30.下面代码的执行结果为
|
||||||
|
```angular2html
|
||||||
|
console.log(typeof a); // undefined
|
||||||
|
console.log(a);
|
||||||
|
```
|
||||||
|
|
||||||
|
31.列举几种隐式类型转换和显式类型转换
|
||||||
|
32.列举几种其他类型转成字符串的方式
|
||||||
|
33. 列举几种转成数值的方式(分为整型和浮点型)
|
||||||
|
|
||||||
|
34.下面代码的执行结果为
|
||||||
|
```angular2html
|
||||||
|
console.log(parseInt("2017在公众号上写了6篇文章"));
|
||||||
|
|
||||||
|
console.log(parseInt("2017.01在公众号上写了6篇文章"));
|
||||||
|
|
||||||
|
console.log(parseInt("aaa2017.01在公众号上写了6篇文章"))
|
||||||
|
```
|
||||||
|
|
||||||
|
35. 下面代码的执行结果为
|
||||||
|
```angular2html
|
||||||
|
var a = 168.23;
|
||||||
|
console.log(parseInt(a));
|
||||||
|
|
||||||
|
var b = true;
|
||||||
|
console.log(parseInt(b));
|
||||||
|
|
||||||
|
var c = null;
|
||||||
|
console.log(parseInt(c));
|
||||||
|
|
||||||
|
var d = undefined;
|
||||||
|
console.log(parseInt(d));
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
36. 下面代码的执行结果为
|
||||||
|
```angular2html
|
||||||
|
var a = parseInt(5.8) + parseInt(4.7);
|
||||||
|
console.log(a);
|
||||||
|
```
|
||||||
|
|
||||||
|
```angular2html
|
||||||
|
var a = parseInt(5.8 + 4.7);
|
||||||
|
console.log(a);
|
||||||
|
```
|
||||||
|
|
||||||
|
```angular2html
|
||||||
|
var a = '123.456.789px';
|
||||||
|
console.log(parseFloat(a));
|
||||||
|
```
|
||||||
|
|
||||||
|
37.下面代码的执行结果为
|
||||||
|
```angular2html
|
||||||
|
const a = 1;
|
||||||
|
|
||||||
|
console.log(a == true);
|
||||||
|
console.log(typeof a);
|
||||||
|
console.log(0 == true)
|
||||||
|
```
|
||||||
|
|
||||||
|
38. 下面代码的执行结果为
|
||||||
|
```angular2html
|
||||||
|
const result1 = '';
|
||||||
|
const result2 = {a:'data1', b: 'data2'};
|
||||||
|
|
||||||
|
if (result1) {
|
||||||
|
console.log('因为 result1的内容为空,所以代码进不了这里');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (result2 && result2.a) {
|
||||||
|
// 接口返回了 result2,且 result2.a 里面有值,前端才做进一步的事情
|
||||||
|
console.log('代码能进来,前端继续在这里干活儿');
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
27
js1/dom.md
Normal file
27
js1/dom.md
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
# dom
|
||||||
|
1. 点击按钮时,显示和隐藏盒子。
|
||||||
|
|
||||||
|
2. 鼠标悬停时,显示二维码大图
|
||||||
|
|
||||||
|
3. 点击按钮禁用文本框/解禁文本框
|
||||||
|
|
||||||
|
4. 文本框获取焦点/失去焦点(淘宝 京东的搜索框效果)
|
||||||
|
|
||||||
|
5. 用户注册信息错误时,输入框失去焦点后,高亮显示。
|
||||||
|
|
||||||
|
6. 全选和反选(仿京东购物车)
|
||||||
|
|
||||||
|
7. 电子时钟 (时间会更新)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
8. 随机点名 通过math.radom取随机数实现随机点名 名字集合放在数组里
|
||||||
|
|
||||||
|

|
||||||
|
a
|
||||||
|
|
||||||
|
|
||||||
|
11. 仿写 todolist的备忘录功能 实现要做项的增删改查
|
||||||
|
|
||||||
|
12. 在html上写一个表格 包括姓名 年龄 性别 住址 职业 通过js 做信息的增删改查
|
||||||
114
js1/this.md
Normal file
114
js1/this.md
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
# this
|
||||||
|
1. 总结this的指向的规律
|
||||||
|
2. 改变this指向的方式
|
||||||
|
3. 下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
function fn2(){
|
||||||
|
console.log(this.n)
|
||||||
|
var n='n'
|
||||||
|
this.n=10
|
||||||
|
console.log(n)
|
||||||
|
}
|
||||||
|
var obj={fn2:fn2, n:1}
|
||||||
|
fn2()
|
||||||
|
obj.fn2()
|
||||||
|
console.log(obj.n, window.n)
|
||||||
|
|
||||||
|
```
|
||||||
|
4.下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
|
||||||
|
function f(){console.log(this)}
|
||||||
|
|
||||||
|
var obj={
|
||||||
|
fn: (function(){
|
||||||
|
console.log(this.f)
|
||||||
|
// return this.f
|
||||||
|
})(),
|
||||||
|
f: function(){console.log(this)}
|
||||||
|
}
|
||||||
|
f()
|
||||||
|
obj.f()
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
5. 下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
var n = 10
|
||||||
|
var obj1={
|
||||||
|
n:1,
|
||||||
|
f:function(){this.n++; n=this.n++}
|
||||||
|
}
|
||||||
|
|
||||||
|
obj1.f()
|
||||||
|
console.log(n)
|
||||||
|
console.log(obj1.n)
|
||||||
|
window.setTimeout(obj1.f, 1000)
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
6. 下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
console.log(getA)
|
||||||
|
if('a' in window){
|
||||||
|
var a = ''
|
||||||
|
function getA(a){
|
||||||
|
a = a||this.a
|
||||||
|
console.log(this.a)
|
||||||
|
}
|
||||||
|
getA(a)
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
7. 下面代码执行结果为
|
||||||
|
```js
|
||||||
|
const obj1 = {
|
||||||
|
nickName: 'qianguyihao',
|
||||||
|
age: 28,
|
||||||
|
};
|
||||||
|
function fn1() {
|
||||||
|
console.log(this);
|
||||||
|
console.log(this.nickName);
|
||||||
|
}
|
||||||
|
fn1.call(this);
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
8. 下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
var obj1 = {
|
||||||
|
nickName: 'qianguyihao',
|
||||||
|
age: 28,
|
||||||
|
};
|
||||||
|
|
||||||
|
function fn1(a, b) {
|
||||||
|
console.log(this);
|
||||||
|
console.log(this.nickName);
|
||||||
|
console.log(a + b);
|
||||||
|
}
|
||||||
|
|
||||||
|
fn1.call(obj1, 2, 4);
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
9.下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
function Father(myName, myAge) {
|
||||||
|
this.name = myName;
|
||||||
|
this.age = myAge;
|
||||||
|
}
|
||||||
|
|
||||||
|
function Son(myName, myAge) {
|
||||||
|
Father.call(this, myName, myAge);
|
||||||
|
}
|
||||||
|
|
||||||
|
const son1 = new Son('hello', 28);
|
||||||
|
console.log(JSON.stringify(son1));
|
||||||
|
```
|
||||||
|
|
||||||
|
10.把上面7,8,9 改成apply语法
|
||||||
|
|
||||||
|
13.把上面7,8,9 改成bind语法
|
||||||
259
js1/函数.md
Normal file
259
js1/函数.md
Normal file
@@ -0,0 +1,259 @@
|
|||||||
|
# 函数
|
||||||
|
* 简介函数语法
|
||||||
|
* 函数包含哪几部分
|
||||||
|
* 简述函数返回值规则
|
||||||
|
* 下面代码的执行结果为
|
||||||
|
```
|
||||||
|
var x = myFunction(7, 8);
|
||||||
|
function myFunction(a, b) {
|
||||||
|
return a * b;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
* 简单介绍局部变量和全局变量
|
||||||
|
* 下面两段代码的执行结果分别是什么 并说明原因
|
||||||
|
```
|
||||||
|
function myFunction() {
|
||||||
|
var carName = "Volvo";
|
||||||
|
}
|
||||||
|
console.log(carName)
|
||||||
|
|
||||||
|
```
|
||||||
|
```
|
||||||
|
function myFunction() {
|
||||||
|
var carName = "Volvo";
|
||||||
|
console.log(carName)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
* 函数如何返回值,如何接收
|
||||||
|
* 下面代码执行结果是什么 为什么
|
||||||
|
|
||||||
|
```
|
||||||
|
function sum(iNum1, iNum2) {
|
||||||
|
return iNum1 + iNum2;
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
* 下面代码执行结果是什么 为什么
|
||||||
|
|
||||||
|
```
|
||||||
|
function sum(iNum1, iNum2) {
|
||||||
|
console.log(iNum1 + iNum2);
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
* 下面代码执行结果是什么 为什么
|
||||||
|
|
||||||
|
```
|
||||||
|
function sum(iNum1, iNum2) {
|
||||||
|
console.log(iNum1 + iNum2);
|
||||||
|
}
|
||||||
|
sum()
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
* 下面代码执行结果是什么 为什么
|
||||||
|
|
||||||
|
```
|
||||||
|
function sum(iNum1, iNum2) {
|
||||||
|
return iNum1 + iNum2;
|
||||||
|
}
|
||||||
|
var iResult = sum(1,1);
|
||||||
|
alert(iResult);
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
* 下面代码执行结果是什么 为什么
|
||||||
|
|
||||||
|
```
|
||||||
|
function sum(iNum1, iNum2) {
|
||||||
|
return iNum1 + iNum2;
|
||||||
|
alert(iNum1 + iNum2);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
* 下面代码的执行结果为
|
||||||
|
```
|
||||||
|
function sayHi(sMessage) {
|
||||||
|
if (sMessage == "bye") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
alert(sMessage);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
* 如何检测参数的个数
|
||||||
|
* 下面代码的执行结果是多少
|
||||||
|
```
|
||||||
|
function howManyArgs() {
|
||||||
|
alert(arguments.length);
|
||||||
|
}
|
||||||
|
|
||||||
|
howManyArgs("string", 45);
|
||||||
|
howManyArgs();
|
||||||
|
howManyArgs(12);
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
* 下面代码的执行结果
|
||||||
|
```
|
||||||
|
function sayHi() {
|
||||||
|
if (arguments[0] == "bye") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
alert(arguments[0]);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
* 下面代码的执行结果是什么
|
||||||
|
```
|
||||||
|
function howManyArgs() {
|
||||||
|
alert(arguments.length);
|
||||||
|
}
|
||||||
|
|
||||||
|
howManyArgs("string", 45);
|
||||||
|
howManyArgs();
|
||||||
|
howManyArgs(12);
|
||||||
|
|
||||||
|
```
|
||||||
|
* 什么是函数重载
|
||||||
|
|
||||||
|
* 下面代码的执行结果是什么
|
||||||
|
```
|
||||||
|
function doAdd() {
|
||||||
|
if(arguments.length == 1) {
|
||||||
|
alert(arguments[0] + 5);
|
||||||
|
} else if(arguments.length == 2) {
|
||||||
|
alert(arguments[0] + arguments[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
doAdd(10);
|
||||||
|
doAdd(40, 20);
|
||||||
|
```
|
||||||
|
|
||||||
|
* 通过new function() 的系形式重新定义下面的对象
|
||||||
|
```
|
||||||
|
function sayHi(sName, sMessage) {
|
||||||
|
alert("Hello " + sName + sMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
* 编写一个函数,计算三个数字的大小,按从小到大顺序输出
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
* 用*实现等边三角形
|
||||||
|
|
||||||
|
* 创建函数的几种方式
|
||||||
|
|
||||||
|
* 下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
sum(3,4);
|
||||||
|
sum("3",4);
|
||||||
|
sum("Hello","World");
|
||||||
|
|
||||||
|
// 定义函数:求和
|
||||||
|
function sum(a, b) {
|
||||||
|
console.log(a + b);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
* 下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
function sum(a, b) {
|
||||||
|
console.log(a + b);
|
||||||
|
}
|
||||||
|
|
||||||
|
sum(1, 2);
|
||||||
|
sum(1, 2, 3);
|
||||||
|
sum(1);
|
||||||
|
```
|
||||||
|
|
||||||
|
* 下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
console.log(fn) == console.log(function fn(){alert(1)});
|
||||||
|
|
||||||
|
//定义fn方法
|
||||||
|
function fn(){
|
||||||
|
alert(1)
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
* fn 和 fn()的区别
|
||||||
|
|
||||||
|
* 下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
(function(a, b) {
|
||||||
|
console.log("a = " + a);
|
||||||
|
console.log("b = " + b);
|
||||||
|
})(123, 456);
|
||||||
|
```
|
||||||
|
|
||||||
|
* 下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
function foo() {
|
||||||
|
console.log(arguments);
|
||||||
|
console.log(typeof arguments);
|
||||||
|
}
|
||||||
|
|
||||||
|
foo();
|
||||||
|
```
|
||||||
|
|
||||||
|
* 如何返回函数传入的参数个数
|
||||||
|
|
||||||
|
* 下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
|
||||||
|
fn(2, 4);
|
||||||
|
fn(2, 4, 6);
|
||||||
|
fn(2, 4, 6, 8);
|
||||||
|
|
||||||
|
function fn(a, b) {
|
||||||
|
console.log(arguments);
|
||||||
|
console.log(fn.length);
|
||||||
|
console.log(arguments.length);
|
||||||
|
|
||||||
|
console.log('----------------');
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
* 下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
function fun() {
|
||||||
|
console.log(arguments.callee == fun); //打印结果为true
|
||||||
|
}
|
||||||
|
|
||||||
|
fun('hello');
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
* 下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
fn(2, 4);
|
||||||
|
fn(2, 4, 6);
|
||||||
|
fn(2, 4, 6, 8);
|
||||||
|
|
||||||
|
function fn(a, b) {
|
||||||
|
arguments[0] = 99; //将实参的第一个数改为99
|
||||||
|
arguments.push(8); //此方法不通过,因为无法增加元素
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
* 介绍arguments的使用
|
||||||
|
|
||||||
|
* 编写一个函数来验证输入的字符串是否是有效的 IPv4 地址。
|
||||||
|
|
||||||
|
如果是有效的 IPv4 地址,返回 "IPv4" ;
|
||||||
|
如果不是上述类型的 IP 地址,返回 "Neither" 。
|
||||||
|
|
||||||
|
IPv4 地址由十进制数和点来表示,每个地址包含 4 个十进制数,其范围为 0 - 255, 用(".")分割。比如,172.16.254.1;
|
||||||
95
js1/对象.md
Normal file
95
js1/对象.md
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
# 对象练习
|
||||||
|
* 什么是面向对象 什么是面向过程
|
||||||
|
* 分别介绍对象的三大特征
|
||||||
|
* 对象也是一个变量,但对象可以包含多个值(多个变量),每个值以 对呈现。
|
||||||
|
* 定义一个对象 包含下列属性 name age sex addr(居住地) job(职业)
|
||||||
|
包含下列方法
|
||||||
|
eat, sleep, playgame, watchtv ,read
|
||||||
|
函数体内自定义内容 不可为空
|
||||||
|
* 给上面的题里的对象添加 height(身高) weight(体重) 属性并赋值
|
||||||
|
* 给上面题里的对象添加 下列方法
|
||||||
|
meituan(点外卖 参数需要传手机号和居住地址 想吃的东西 返回下单成功)
|
||||||
|
cook(做饭 需要传入时间 判断当前是哪一顿饭)
|
||||||
|
travel(需要传入目的地 返回我去哪里玩啦)
|
||||||
|
listenmusic(传入你喜欢的歌手 控制台打印最喜欢的曲子)
|
||||||
|
work(传入上班时间和下班时间 判断是否为996)
|
||||||
|
|
||||||
|
* 访问上面对象定义的以及添加后的所有属性(两种方式访问 先指明可以通过什么方式访问)
|
||||||
|
格式为 如name字段: 姓名:+name的属性值
|
||||||
|
通过调用不同的方法来制定行程(按照正常顺序调用上面对象的每一个方法)
|
||||||
|
|
||||||
|
* 探索对象创建的其他方式 每种都举例尝试(不得少于三个方法 五个属性)
|
||||||
|
* 探索遍历函数的所有属性
|
||||||
|
* 五大主流浏览器的名字为键 内核为值 创建一个对象
|
||||||
|
* 下面代码的执行结果是:
|
||||||
|
```
|
||||||
|
function person(firstname,lastname,age,eyecolor)
|
||||||
|
{
|
||||||
|
this.firstname=firstname;
|
||||||
|
this.lastname=lastname;
|
||||||
|
this.age=age;
|
||||||
|
this.eyecolor=eyecolor;
|
||||||
|
return [this.firstname,this.lastname,this.age,this.eyecolor,this]
|
||||||
|
}
|
||||||
|
|
||||||
|
var myFather=new person("John","Doe",50,"blue");
|
||||||
|
var myMother=person("Sally","Rally",48,"green");
|
||||||
|
console.log(myFather)
|
||||||
|
console.log(myMother)
|
||||||
|
```
|
||||||
|
* 下面代码的执行结果是什么 为什么
|
||||||
|
```
|
||||||
|
const user = {
|
||||||
|
name: "John"
|
||||||
|
};
|
||||||
|
user.name = "Pete";
|
||||||
|
alert(user.name);
|
||||||
|
```
|
||||||
|
|
||||||
|
* 如何访问下面对象的bird属性
|
||||||
|
对象为:
|
||||||
|
var user={
|
||||||
|
fire:"fox",
|
||||||
|
likes:{
|
||||||
|
type:"animal",
|
||||||
|
bird:"fly"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
给user对象添加一个属性名是name 值是user
|
||||||
|
给user对象添加一个方法 触发后可以删除user对象的likes里面的type
|
||||||
|
|
||||||
|
创建一个对象 属性值为用户输入的自定义字符(最少三个属性)
|
||||||
|
|
||||||
|
* 创建一个对象 包含如下内容
|
||||||
|
* code 值为200
|
||||||
|
* msg 值为"请求成功"
|
||||||
|
* data 值为数组[]
|
||||||
|
* data中包含如下内容
|
||||||
|
* shopname 商品名
|
||||||
|
|
||||||
|
* pic 商品图片
|
||||||
|
|
||||||
|
* desc 商品简介
|
||||||
|
|
||||||
|
* price 商品价格
|
||||||
|
|
||||||
|
* kucun 库存
|
||||||
|
|
||||||
|
* xiaoliang 销量
|
||||||
|
|
||||||
|
* caozuo 操作
|
||||||
|
|
||||||
|
注 写的时候把值赋上
|
||||||
|
|
||||||
|
* 把上面那个题目用构造函数的重新写一份,并生成4个内容不同的对象
|
||||||
|
|
||||||
|
* 创建一个对象 包含如下内容
|
||||||
|
* store 商店名称
|
||||||
|
* addr 商店地址
|
||||||
|
* sale: 方法 输出xxx商店正在大甩卖
|
||||||
|
|
||||||
|
* 遍历上面的两个对象 并输出每个的键和值
|
||||||
|
|
||||||
|
* 从外面给商店的对象增添一个shoplist的属性 该属性是一个数组 包含英雄名称跟英雄价格 货币单位以金币计算(5个王者英雄就ok)
|
||||||
|
|
||||||
|
* 把第一题中的data中的对象里面的caozuo 属性删除
|
||||||
44
js1/语句.md
Normal file
44
js1/语句.md
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
# 语句
|
||||||
|
|
||||||
|
1. 流程控制语句包括哪些
|
||||||
|
|
||||||
|
2. 根据要求实现功能
|
||||||
|
根据BMI(身体质量指数)显示一个人的体型。
|
||||||
|
BMI指数,就是体重、身高的一个计算公式。公式是:
|
||||||
|
BMI =体重÷身高的平方
|
||||||
|
|
||||||
|
比如,老师的体重是81.6公斤,身高是1.71米。
|
||||||
|
那么老师的BMI就是 81.6 ÷ 1.712 等于 27.906022365856163
|
||||||
|
|
||||||
|
过轻:低于18.5
|
||||||
|
正常:18.5-24.99999999
|
||||||
|
过重:25-27.9999999
|
||||||
|
肥胖:28-32
|
||||||
|
非常肥胖, 高于32
|
||||||
|
用JavaScript开发一个程序,让用户先输入自己的体重,然后输入自己的身高(弹出两次prompt框)。
|
||||||
|
计算它的BMI,根据上表,弹出用户的身体情况。比如“过轻” 、 “正常” 、“过重” 、 “肥胖” 、“非常肥胖”。
|
||||||
|
|
||||||
|
3.一个加油站为了鼓励车主多加油,所以加的多有优惠。
|
||||||
|
92号汽油,每升6元;如果大于等于20升,那么每升5.9;
|
||||||
|
97号汽油,每升7元;如果大于等于30升,那么每升6.95
|
||||||
|
编写JS程序,用户输入自己的汽油编号,然后输入自己加多少升,弹出价格。
|
||||||
|
|
||||||
|
|
||||||
|
4. 通过switch判断今天是周几
|
||||||
|
5. 把第2题通过switch改写
|
||||||
|
6. 把第3题通过switch改写
|
||||||
|
7. 通过if 和switch 分别实现 判断今天是否该上班 上班输出work 休息输出relax
|
||||||
|
8. 通过while实现 输出1~100的和
|
||||||
|
9. 第八题通过for实现
|
||||||
|
10. 打印1~10 (for,while)
|
||||||
|
11. 写一个死循环
|
||||||
|
12. 第10题通过 do while结构写
|
||||||
|
13.while和do whil的区别
|
||||||
|
14.假如投资的年利率为 5%,试求从 1000 块增长到 5000 块,需要花费多少年?
|
||||||
|
15.break和continue的区别
|
||||||
|
16.99 乘法表
|
||||||
|
17.打印 1~100 之间的所有质数
|
||||||
|
18.判断闰年
|
||||||
|
19.在弹框中输入你的工资,大于等于20000显示高工资,8000-20000显示中高工资,小于8000显示普通工资
|
||||||
|
20.如果时间小于 10:00,则生成问候 "Good morning",如果时间大于 10:00 小于 20:00,则生成问候 "Good day",否则生成问候 "Good evening":、
|
||||||
|
21.用*实现等边三角形
|
||||||
220
js1/运算符.md
Normal file
220
js1/运算符.md
Normal file
@@ -0,0 +1,220 @@
|
|||||||
|
# 运算符
|
||||||
|
1.下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
var a = "666";
|
||||||
|
a++;
|
||||||
|
|
||||||
|
console.log(typeof a);
|
||||||
|
console.log(a);
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
2.下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
var a = '666';
|
||||||
|
var b = +a;
|
||||||
|
|
||||||
|
console.log(typeof a);
|
||||||
|
console.log(a);
|
||||||
|
|
||||||
|
console.log(typeof b);
|
||||||
|
console.log(b);
|
||||||
|
```
|
||||||
|
|
||||||
|
3. 加号有几种用法
|
||||||
|
4. 下面代码的result变量结果分别是什么
|
||||||
|
```js
|
||||||
|
result1 = true + 1;
|
||||||
|
|
||||||
|
result2 = true + false;
|
||||||
|
|
||||||
|
result3 = 1 + null;
|
||||||
|
|
||||||
|
result4 = 100 - '1'
|
||||||
|
```
|
||||||
|
5.运算符的优先级
|
||||||
|
6.假设用户输入345,怎么分别得到3、4、5这三个数呢?
|
||||||
|
7.算数运算符的运算规则
|
||||||
|
8.下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
var n1 = 10;
|
||||||
|
var n2 = 20;
|
||||||
|
|
||||||
|
var result1 = n1++;
|
||||||
|
|
||||||
|
console.log(n1);
|
||||||
|
console.log(result1)
|
||||||
|
|
||||||
|
result = ++n1;
|
||||||
|
console.log(n1);
|
||||||
|
console.log(result);
|
||||||
|
|
||||||
|
var result2 = n2--;
|
||||||
|
console.log(n2);
|
||||||
|
console.log(result2);
|
||||||
|
|
||||||
|
result2 = --n2;
|
||||||
|
console.log(n2);
|
||||||
|
console.log(result2);
|
||||||
|
```
|
||||||
|
|
||||||
|
9.下面的代码的执行结果为
|
||||||
|
```js
|
||||||
|
console.log(3 < 2 && 2 < 4);
|
||||||
|
```
|
||||||
|
|
||||||
|
10.下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
const a = prompt('请输入您的年龄');
|
||||||
|
|
||||||
|
if (a >= 18 && a < 65) {
|
||||||
|
alert('可以上班');
|
||||||
|
} else {
|
||||||
|
alert('准备退休');
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
11.说明逻辑运算符的用法
|
||||||
|
12.下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
const a1 = 'qianguyihao';
|
||||||
|
a1 && alert('看 a1 出不出来');
|
||||||
|
|
||||||
|
const a2 = undefined;
|
||||||
|
a2 && alert('看 a2 出不出来');
|
||||||
|
```
|
||||||
|
|
||||||
|
13.说明短路运算符的用法
|
||||||
|
14.下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
console.log(1 > true);
|
||||||
|
console.log(1 >= true);
|
||||||
|
console.log(1 > "0");
|
||||||
|
|
||||||
|
console.log(10 <= "hello");
|
||||||
|
console.log(true > false);
|
||||||
|
console.log("56" > "123");
|
||||||
|
```
|
||||||
|
|
||||||
|
15.下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
console.log("我爱你中国" == "我爱你中国");
|
||||||
|
console.log("6" == 6);
|
||||||
|
console.log(true == "1");
|
||||||
|
console.log(0 == -0);
|
||||||
|
|
||||||
|
console.log(null == 0);
|
||||||
|
console.log(undefined == null);
|
||||||
|
console.log(NaN == NaN);
|
||||||
|
console.log(NaN === NaN);
|
||||||
|
console.log(NaN == null )
|
||||||
|
console.log(NaN == undefined)
|
||||||
|
|
||||||
|
```
|
||||||
|
16. 下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
var b;
|
||||||
|
console.log(isNaN(b));
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
17. 下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
console.log("6" === 6); //false
|
||||||
|
console.log(6 === 6);
|
||||||
|
```
|
||||||
|
|
||||||
|
18.下面代码的执行结果为
|
||||||
|
```js
|
||||||
|
console.log(3 != 8); //true
|
||||||
|
console.log(3 != "3"); //false,因为3=="3"是true,所以反过来就是false。
|
||||||
|
console.log(3 !== "3");
|
||||||
|
```
|
||||||
|
|
||||||
|
19.三目运算符的执行流程
|
||||||
|
20.下面代码执行结果为
|
||||||
|
```js
|
||||||
|
txt1="What a very";
|
||||||
|
txt2="nice day";
|
||||||
|
txt3=txt1+txt2;
|
||||||
|
console.log(txt3)
|
||||||
|
```
|
||||||
|
21.下面代码执行后 x,y,z 的值为
|
||||||
|
```js
|
||||||
|
x=5+5;
|
||||||
|
y="5"+5;
|
||||||
|
z="Hello"+5;
|
||||||
|
```
|
||||||
|
22.下面代码执行后 voteable的值为
|
||||||
|
```js
|
||||||
|
voteable=(age<18)?"年龄太小":"年龄已达到";
|
||||||
|
```
|
||||||
|
|
||||||
|
23.写一个完成计算器功能的函数,传入两个数 输出计算结果 具体计算功能包含 加减乘除成方取余 每个计算方式分别放按钮 点击输出计算结果
|
||||||
|
24.判断是否为两位数
|
||||||
|
25. 已知 x=5 分别写出下列语句的打印结果
|
||||||
|
x == 8
|
||||||
|
x == 5
|
||||||
|
x == "5"
|
||||||
|
x === 5
|
||||||
|
x === "5"
|
||||||
|
x != 8
|
||||||
|
x !== 5
|
||||||
|
x !== "5"
|
||||||
|
x !== 8
|
||||||
|
x > 8
|
||||||
|
x < 8
|
||||||
|
x >= 8
|
||||||
|
x <= 8
|
||||||
|
|
||||||
|
26.已知现有fish="23"
|
||||||
|
var cat = (fish < 18) ? "再来一筐锦鲤":"吃饱啦";
|
||||||
|
最后的cat 打印结果为
|
||||||
|
|
||||||
|
27.写出下面的打印结果
|
||||||
|
2 < 12
|
||||||
|
2 < "12"
|
||||||
|
2 < "John"
|
||||||
|
2 > "John"
|
||||||
|
2 == "John"
|
||||||
|
"2" < "12"
|
||||||
|
"2" > "12"
|
||||||
|
"2" == "12"
|
||||||
|
|
||||||
|
28.写出下面的打印结果
|
||||||
|
```js
|
||||||
|
alert( 5 % 2 );
|
||||||
|
alert( 8 % 3 );
|
||||||
|
alert( 2 ** 2 );
|
||||||
|
alert( 2 ** 3 );
|
||||||
|
alert( 2 ** 4 );
|
||||||
|
alert( 4 ** (1/2) );
|
||||||
|
alert( 8 ** (1/3) );
|
||||||
|
alert( '1' + 2 );
|
||||||
|
alert( 2 + '1' );
|
||||||
|
alert(2 + 2 + '1' );
|
||||||
|
var x = 1;
|
||||||
|
alert( +x );
|
||||||
|
|
||||||
|
var y = -2;
|
||||||
|
alert( +y );
|
||||||
|
|
||||||
|
// 转化非数字
|
||||||
|
alert( +true );
|
||||||
|
alert( +"" );
|
||||||
|
|
||||||
|
var apples = "2";
|
||||||
|
var oranges = "3";
|
||||||
|
alert( apples + oranges );
|
||||||
|
alert( Number(apples) + Number(oranges) );
|
||||||
|
```
|
||||||
|
29.下面代码的打印结果为
|
||||||
|
```js
|
||||||
|
|
||||||
|
alert( true || true );
|
||||||
|
alert( false || true );
|
||||||
|
alert( true || false );
|
||||||
|
alert( false || false );
|
||||||
|
|
||||||
|
```
|
||||||
24
js1/递归.md
Normal file
24
js1/递归.md
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# 递归
|
||||||
|
|
||||||
|
* 1+2+3+4+....+100(n)求和
|
||||||
|
|
||||||
|
* 输入一个正整数n,输出n!的值。其中n!=123*…*n,即求阶乘
|
||||||
|
* 一共有n格,每步可以走1格或者2格,问一共有多少走法。
|
||||||
|
|
||||||
|
* 一只青蛙可以一次跳 1 级台阶或者一次跳 2 级台阶,例如:
|
||||||
|
跳上第 1 级台阶只有一种跳法:直接跳 1 级即可。 跳上第 2 级台阶有两种跳法:每次跳 1 级,跳两次;或者一次跳 2 级。 问要跳上第 n 级台阶有多少种跳法?
|
||||||
|
|
||||||
|
|
||||||
|
* 小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币。
|
||||||
|
魔法机器1:如果投入x个魔法币,魔法机器会将其变为2x+1个魔法币
|
||||||
|
魔法机器2:如果投入x个魔法币,魔法机器会将其变为2x+2个魔法币
|
||||||
|
小易采购魔法神器总共需要n个魔法币,所以小易只能通过两台魔法机器产生恰好n个魔法币,小易需要你帮他设计一个投入方案使他最后恰好拥有n个魔法币
|
||||||
|
|
||||||
|
输入描述:
|
||||||
|
|
||||||
|
输入包括一行,包括一个正整数n(1 ≤ n ≤ 10^9),表示小易需要的魔法币数量。
|
||||||
|
|
||||||
|
输出描述:
|
||||||
|
输出一个字符串,每个字符表示该次小易选取投入的魔法机器。其中只包含字符'1'和'2'。
|
||||||
|
|
||||||
|
比如输入10,返回122
|
||||||
181
js1/闭包.md
Normal file
181
js1/闭包.md
Normal file
@@ -0,0 +1,181 @@
|
|||||||
|
# 闭包
|
||||||
|
1. 什么是闭包
|
||||||
|
2. 简述闭包的作用
|
||||||
|
3. 下面代码的执行结果是什么 为什么
|
||||||
|
```
|
||||||
|
function fn1() {
|
||||||
|
var name = 'iceman';
|
||||||
|
function fn2() {
|
||||||
|
console.log(name);
|
||||||
|
}
|
||||||
|
fn2();
|
||||||
|
}
|
||||||
|
fn1();
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
4. 下面代码的执行结果是什么 为什么
|
||||||
|
```
|
||||||
|
function fn1() {
|
||||||
|
var name = 'iceman';
|
||||||
|
function fn2() {
|
||||||
|
console.log(name);
|
||||||
|
}
|
||||||
|
return fn2;
|
||||||
|
}
|
||||||
|
var fn3 = fn1();
|
||||||
|
fn3();
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
5. 下面代码的执行结果是什么 为什么
|
||||||
|
```
|
||||||
|
function fn1() {
|
||||||
|
var name = 'iceman';
|
||||||
|
function fn2() {
|
||||||
|
console.log(name);
|
||||||
|
}
|
||||||
|
fn3(fn2);
|
||||||
|
}
|
||||||
|
function fn3(fn) {
|
||||||
|
fn();
|
||||||
|
}
|
||||||
|
fn1();
|
||||||
|
```
|
||||||
|
6. 下面代码的执行结果是什么 为什么
|
||||||
|
```
|
||||||
|
function waitSomeTime(msg, time) {
|
||||||
|
setTimeout(function () {
|
||||||
|
console.log(msg)
|
||||||
|
}, time);
|
||||||
|
}
|
||||||
|
waitSomeTime('hello', 1000);
|
||||||
|
```
|
||||||
|
|
||||||
|
7. 下面代码的执行结果是什么 为什么
|
||||||
|
```
|
||||||
|
for (var i = 1; i <= 10; i++) {
|
||||||
|
setTimeout(function () {
|
||||||
|
console.log(i);
|
||||||
|
}, 1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
8. 怎么才能在第7题中输出 1-10
|
||||||
|
9. 下面代码的执行结果是什么 为什么
|
||||||
|
```
|
||||||
|
function module() {
|
||||||
|
var arr = [];
|
||||||
|
function add(val) {
|
||||||
|
if (typeof val == 'number') {
|
||||||
|
arr.push(val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function get(index) {
|
||||||
|
if (index < arr.length) {
|
||||||
|
return arr[index]
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
add: add,
|
||||||
|
get: get
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var mod1 = module();
|
||||||
|
mod1.add(1);
|
||||||
|
mod1.add(2);
|
||||||
|
mod1.add('xxx');
|
||||||
|
console.log(mod1.get(2));
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
10. 下面代码的执行结果是什么 为什么
|
||||||
|
```
|
||||||
|
var a = 10
|
||||||
|
function foo(){
|
||||||
|
console.log(a)
|
||||||
|
}
|
||||||
|
|
||||||
|
function sum() {
|
||||||
|
var a = 20
|
||||||
|
foo()
|
||||||
|
}
|
||||||
|
|
||||||
|
sum()
|
||||||
|
```
|
||||||
|
|
||||||
|
11. 下面代码的执行结果是什么 为什么
|
||||||
|
```
|
||||||
|
var n = 10
|
||||||
|
function fn(){
|
||||||
|
var n =20
|
||||||
|
function f() {
|
||||||
|
n++;
|
||||||
|
console.log(n)
|
||||||
|
}
|
||||||
|
f()
|
||||||
|
return f
|
||||||
|
}
|
||||||
|
|
||||||
|
var x = fn()
|
||||||
|
x()
|
||||||
|
x()
|
||||||
|
console.log(n)
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
12. 简述闭包形成的原因
|
||||||
|
13. 下面代码的执行结果是什么 为什么
|
||||||
|
```
|
||||||
|
var a = 0
|
||||||
|
function foo(){
|
||||||
|
var b =14
|
||||||
|
function fo(){
|
||||||
|
console.log(a, b)
|
||||||
|
}
|
||||||
|
fo()
|
||||||
|
}
|
||||||
|
foo()
|
||||||
|
```
|
||||||
|
|
||||||
|
14. 下面代码的执行结果是什么 为什么
|
||||||
|
```
|
||||||
|
var n = 10
|
||||||
|
function fn(){
|
||||||
|
var n =20
|
||||||
|
function f() {
|
||||||
|
n++;
|
||||||
|
console.log(n)
|
||||||
|
}
|
||||||
|
return f
|
||||||
|
}
|
||||||
|
|
||||||
|
var x = fn()
|
||||||
|
x()
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
15. 下面代码的执行结果是什么 为什么
|
||||||
|
```
|
||||||
|
var a = '林一一'
|
||||||
|
function foo(){
|
||||||
|
var a = 'foo'
|
||||||
|
function fo(){
|
||||||
|
console.log(a)
|
||||||
|
}
|
||||||
|
return fo
|
||||||
|
}
|
||||||
|
|
||||||
|
function f(p){
|
||||||
|
var a = 'f'
|
||||||
|
p()
|
||||||
|
}
|
||||||
|
f(foo())
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
16.预编译的四个步骤
|
||||||
|
17.全局变量和局部变量
|
||||||
Reference in New Issue
Block a user