js的读书笔记

一、js中%=的使用方法(取余0)
var a = (10 * 3 - 4 / 2 + 1) % 2 , /js中 %= 的使用/
b = 3;
b %= a + 3;
document.write(a);
document.write("
");
document.write(b);
document.write("
");
document.write(a++); /* a++ 或类似的 先进行a在下一次运算再进行++或者–/
document.write("
");
document.write(a);
document.write("
");
document.write(–b);
二、互相交换变量
var a = 123;
var b = 234;
var c = a;
c = a;
a = b;
b = c; /
互相交换连个变量的值 方法一 使用临时变量*/
/方法二/
a += b; /* a+=b 即等于 a=a+b*/
b = a-b;
a -= b; /* a-=b 即等于a=a-b /
/方法三/
a = [a,b];
b = a[0];
a = a[1];
/方法四/
[a,b] = [b,a]; /利用了ES6的解构赋值语法,它允许我们提取数组和对象的值,对变量进行赋值,
document.write(a);
document.write("
");
document.write(b);
document.write("
")
document.write©;
三、计算2的n次方
var n = parseInt(window.prompt(“输入”)); /
次为窗口弹出框*/
var num =1;
for(i = 0;i<n; i++){
num = 2;
}
document.write(“2的”+n+“次方是”+num); /
计算2 的n次幂*/
四、计算阶乘
var n = parseInt(window.prompt(“Input”));/阶乘是所有小于及等于该数的正整数的积 0的阶乘为1/
var num = 1;
for( var i=1;i <= n;i++ ){
num =i;
}
document.write(num)
五、 判断三个数之间的最大的数
var a = parseInt(window.prompt(“输入”));
var b = parseInt(window.prompt(“输入”));
var c = parseInt(window.prompt(“输入”));
if(a>b){
if (a>c){
document.write(a);
}else {
document.write©;
}
}else{
if(b>c){
document.write(b);
}else{
document.write©;
}
}
六、计算斐波那契数列 斐波那契数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …
var n = parseInt(window.prompt(“输入”));
var first = 1,
second = 1,
third;
if(n>2){
for( var i = 0;i < n-2;i++){ /
规律是 第一个数加上第二个数等于第三个数 计算后将之前第二个数作为第三个数,第三个数作为第二个数。以此类推*/
third = first + second; /i 作为循环数循环次数为求得数-2/
first = second;
second = third;
}
document.write(third);
}else{
document.write(1)
}
function fb (n) { /斐波那契数 找规律 找出口 第三位等于第二位加上第一位的值/
if(n == 1|| n == 2 ){ /* || 的意思是或*/
return 1;
}
return fb(n-1)+fb(n-2);
}
fb(3)
七、计算100以内的质数
var count = 0 ; /计算100以内的质数/
for ( var i = 0;i < 100;i++){ /*i 表示循环次数 */
for( var j = 0; j <= i; j++){
if(i % j == 0){ /*模为0时表示 该数可以被整除 然后count 进行++ 最后count的值为2时 表示 该数是质数只能被0和他自己本身整除 /
count++
}
}
if (count == 2){
document.write(i+" “);
}
count = 0; /将count 的 值 清0,保证count的值不一直是2 /
}
八、数组练习
var arr = [ 1,2,3,65,48,74,47,456,] /
数组的练习 将原数组的基础上全部加2
/
for(i = 0;i < arr.length;i++){
console.log(arr[i])
arr[i] += 2;
}
九、 练习
var a = “13abc”;
alert(typeof (a)); /!输出的结果为undefined!/
alert(typeof (underfined)) /!输出的结果为underfined!/
alert(typeof (NaN)) /!输出的结果为number!/
alert(typeof (null)) /!输出的结果为object!/
alert(typeof(+a)) /!输出的结果为 number!/
alert(typeof (!!a)) /!输出的结果为boolean!/
alert(typeof (a+”")) /!输出的结果为string!/
alert( 1 == “1”) /!输出的结果为true!/
alert(NaN == “NaN” ) /!输出的结果为false!/
alert( NaN == “undefined”) /!输出的结果为false!/
alert(“11” + 11) /!输出的结果为1111!/
alert(parseInt(“123abc”)) /!输出的结果为123!/
var num = 123123.3456789;
alert(num.toFixed(3)) /!输出的结果为123123.346 结果要四舍五入!/
alert(typeof (typeof (a))) /!输出的结果为string!/
十、加法计算器
function sum() { /加法计算器/
var result = 0;
for(i=0;i<arguments.length;i++){
result += arguments[i]
}
document.write(result)
}
sum(1,2,55,);
十一、编写一个函数 告知你所选的动物的叫声
function scream(anmial) {
switch (anmial){
case"dog":
document.write(“wangwang”);
return;
case"cat":
document.write(“miaomiao”);
return;
case"pig":
document.write(“hengheng”);
return;
}
}
十二、输入数字逆转 并以汉字 形式返回
function reserve() {
var num = window.prompt(“input”)
var str = “”;
for(var i=num.length-1;i>=0;i–){
str +=tranfer(num[i])
}
document.write(str);
}
function tranfer(target) {
switch (target){
case"1":
return “壹”;
case"2":
return “贰”;
case"3":
return “三”
}
}
十三、用递归的方式写出阶乘功能 用递归时首先应该是找规律,然后是找出口
function mul(n) {
if ( n == 1 || n ==0){
return 1;
}
return n = n
(n-1) /递归方式 return 的值必须是公式/
}
十四、练习
function test(){
var food = “apple”;
var obj = {
eatFood:function () {
if (food != “”){
console.log(" i am eating " + food);
food = “”;
}else{
console.log(“there is nothing ,empty”)
}
},
pushFood:function(myFood){
food= myFood;
}
}
return obj;
}
var person = test();
person.eatFood();
person.eatFood();
person.pushFood(“banana”);
person.eatFood(‘orange’);
十五、 对象的基本使用方法 包括增删改查 四个功能 的使用方法
function Student(name,age,sex ) {
this.name = “xiaowang”;
this.sex = “male”;
}
var student = new Student();
student.age = 11;
student.name = “xiangzhang”
delete student.name;
student.color = “red”
十六、自定义构造函数
function Person(name,age,sex,say) {
this.name = name;
this.age = age;
this.sex = sex;
this.say = function () {
console.log(this.say)
}
}
var person = new Person(“xiangzhang”,15,“male”,“english”);
var person1 = new Person(“xiaowang”,11)
var person2 = new Person(“大佬”,18,‘male’,‘chinese’)
十七、计算字符串的位数
var str= “abcdefghijklmnopqrstuvwxyz”; /计算字符串的位数 如果Unicode码>255那么字节长度2小于等于255字节长度为1/
function bytesLength(str) {
var count = 0; /中文的Unicode的字节长度为2包括逗号,英文为1/
for(var i = 0 ;i < str.length ; i++ ){
if(str.charCodeAt(i)>255){
count += 2;
}else{
count++;
}
}
return count;
}
十八、冒泡序列
. var arr=[-1,2,22,10,3,11,15];
arr.sort(function (a,b) {
return b-a;
}) /冒泡排序 若return a-b则 数组为升序 若return b-a 则数组为降序/

十九、将一个有序的数列乱序
var arr=[1,2,3,4,5,6,7];
arr.sort(function(){
return Math.random() - 0.5;
});
二十、将多个数组合并(连接起来)
var str = “Alibaba”;
var str1 = “Tencent”;
var str2 = “Baidu”;
var str3 = “Toutiao”;
var arr = [str,str1,str2,str3];
console.log(arr.join(" ")); /* 双引号内若无空格则连接的数组没有间隔,有空格反之,还可以加上一些符号例如波浪~*/
二十一、 类数组的使用
var obj = {
“1”: ‘a’,
“2”:‘c’,
“3”:‘d’,
“length”:‘4’,
“push”: Array.prototype.push,
“splice”:Array.prototype.splice,
}
obj.push(‘b’);
obj.push(‘大佬’) /类数组中length的数值是几,则 push进去的数位置就在哪,/

  .
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值