Javascript 一天笔记

2019-12-21  本文已影响0人  一千零一夜

复习1

===完全相等。相当于is &&|| !true

console.log(xx)相当于print alert prompt相当于input

var str = "my name is erol"
str.length  //检测字符串长度

str.charAt(3) //'n'
str[3] //新增语法,一样‘n'
str.charCodeAt(3) //返回n的ASCII码

str.indexOf('e',3) //e从3开始找。相当于find

str.concat('刘','皇族')  //"my name is erol刘皇族"

str.substr(1,4) //sb从1开始娶4个

str.replace('a','b')

str.split('*')

"a"+null == 'anull';"a"+1 == 'a1' //字符串和任何拼接都是字符串。
true +  1 == 2  
null + 1 == 1 //null相对于0
undefined + 1 == NaN //不是数字
//只要不是相加,其它的运行符号会隐士转换

typeof 10 //number
typeof 'erol' //string
typeof true // boolean
typeof null //object
typeof a //undefined

123.toString() //一样
String(123) //一样,注意是大写

parseInt('1') //解析成整型
parseInt('1.23')//1 得到的是整数
parseFloat('3.14') 
parseFloat('1.23px')//会自动去掉px
Number('12')

Boolean(xx)// '' 0 NaN null undefined 五大皆空
/只声明不赋值 不知道里面存的是啥 所以undefined  未定义
// 单行注释
/*多行注释*/
<!-- <input type="button" value="唐伯虎" onclick="alert('秋香姐')"> --> //1。行内式
    
<script>alert('沙漠骆驼');</script> ///2.内嵌式

<script src="my.js"></script> ///3。外部引用js资源

prompt('请输入您的年龄:'); // 这是一个输入框,相当于input

alert('计算的结果是');// alert 弹出警示框 

console.log('我是程序员能看到的');// console.log 相当于print

var a = 010 //0 表示八进制-》十进制。默认计算机是十进制表示。
var b = 0xa // 0x 表示16进制--》十进制
//Number.MAX_VALUE,Number.MIN_VALUE

isNaN(123)//false
isNaN("erol")//true .isNaN: is not a num(不是一个数字)

1>5 && 2>1 //相当于py中的and
!2 //false。。!true 

复习2

object类型[]和{}

if (3<5){
    alert("erol")
}
/*=================================*/
if (3<5){
    alert("erol")
}else{
    alert('hi')
}
/*=================================*/
if (条件1){

}else if (条件2){
          
}else{
    
}
/*=================================*/
var a = 4>5 ? '对':'不对'   //三元表达式
/*=============switch ...case语句====================*/
switch(条件){
    case 1:xxx;
        break;
    case 2:xxx;
        break;
    default:
        xxx;
}
/*=============for语句====================*/
for(var i=1;i<10;i++){
    alert('你是混蛋,请点击确认');
    if(xx){
        break; //continue 、break和py一样
    }
}
/*=============while语句====================*/
var num = 1 ;
while(num<=100){
    console.log('好啊');
    num++;
}
/*=============do while语句====================*/
var num = 1
do{
    console.log('爱我吗?');
    num++;
}while(i <= 10)  //先执行再判断

复习3

arguments 相当于*kwargs 支持连等 var a=b=c

var arr = new Array(); //创建一个空数组
var arr = [] //同上 。相当于py中的 li=list()和li=[]
arr[1] //找不到元素返回:undefined。python早就报错了

var arr = new Array(2,3,4);
var arr = [2,3,4]

var arr = new Array(2) //创建两个空数组,长度为2.不是很鸡肋吗?

arr instanceof Array  //判断arr是不是数组
Array.isArray(arr)  //新语法。直接通过Array.方法

var arr = [1,2,3]
arr.push("a") //推一个进去,相当于append
arr.push('a','b','c')  //腿多个进去

arr.pop() //无参数。弹最后的,和py一样

arr.unshift('x')
arr.unshift('x','y') //unshift在最前面加多个或者一个。py没有

arr.shift() //无参数,删除第一个。很另类。

arr.indexOf() //-1 .什么都不写返回-1
arr.indexOf('a') //返回元素索引号 
arr.lastindexOf('a') //从最后面开始找

arr.join('*')  //和py一样
arr.toString() //呵呵

arr.reverse()//翻转,arr.sort()排序
/*=============函数====================*/
function getSum(num1,num2){
    console.log(num1,num2)
    return xx
}
getSum(1,2) //正常
getSum(1,2,3) //正常,多余的它不要
getSum(1) //NaN 。总之就是不会报错

/*=============只有函数才有内置的arguments.是一个伪数组====================*/
function fn(){
    console.log(arguments)
}
fn(1,2,3)
/*=============匿名函数====================*/
var fun = function(nums){
    console.log(nums)
}

//关于作用域和python类同,就近原则

复习4*

{}里面的键用不用引号都行,py不允许 值必须是匿名函数 调用方式通过打点调用也行a.x,通过a['x']也行

构造函数,类似对象。关键字this如self,new xx()相当于实例化

python 里面的值竟然也可以是一个函数,但是不能打点调用

js的字典很像对象的调用方式

var ojb = {
    name:"erol",
    "age":22,
    sayHi:function(){
        console.log('hi~')
    }
}
console.log(obj.name) //通过打点调用
console.log(obj['name']) //像py字典一样调用
console.log(obj.sayhi())  //还是打点调用好点

/*=============利用new Object()创建====================*/
var obj = new Object();  //[]是Array()
obj.name = "erol";
obj.age = 18;
obj.sayhi = function(){
    cosole.log('hi~')
}


/*=============构造函数,类似对象====================*/
function (){
    this.属性 = 值;
    this.方法 = function(){}
}
//构造函数类似对象,神似函数,关键字this ,new
function Star(name,age,sex){
    this.name = name;
    this.age = age;
    this.sex = sex;
    this.sing = function(song){console.log(song);}
}

var person1 = new Star('z3',10,'男');  //new一个对象,相当于实例化
console.log(person1.age)
person1.sing('伤不起') 

复习5

遍历字典

//遍历字典
var obj = {
    name:'erol',
    age:22,
    fn:function(){}
}
for(var i in obj){
    console.log(i);  //相当于拿到键
    console.log(ojb[i])  //这才是取值
}

/*==============Math===================*/
Math.PI;
Math.max(2,3,4);
Math.abs(-1)
Math.floor(1.9)
Math.ceil(1.1)
Math.round(-1.2)

Math.random() //(0,1)

/*=============Date()对象必须通过new来实例化调用====================*/
var date = new Date()
console.log(date) //Sat Dec 21 2019 20:29:43 GMT+0800 (中国标准时间)

var date2 = new Date(2020,8,1) //常用
console.log(date2)

var date = new Date();
console.log(date.getFullYear()) //年
console.log(date.getMonth()) //月
console.log(date.getDate())  //日
console.log(date.getDay())  //星期几
console.log(date.getHours()) //时
console.log(date.getMinutes()) //分
console.log(date.getSeconds()) //秒

//网页最最常用,毫秒
date.valueOf()//同下,一样
date.getTime() //距离1970.1.1的毫秒数

//新语法
+new Date() //多了个+,也是最最常用的
Date.now() //总毫秒
上一篇 下一篇

猜你喜欢

热点阅读