JavaScript基础知识(10)

JavaScript(ES6-10)语法详解 —— ES6基础知识【数组】 ES5中数组有多少种遍历的方法 JS中遍历的方法 for - 写法繁琐,但支持break和continue forEach - 写法简洁,但不支持break和continue every - 向下遍历时需要返回true,若不返回true则相当于break【故可以支持break和continue的概念】 for-in - 由于数组也是对象,故若无故给数组了对应的属性值,则也会通过for-in遍历出来。且for-in是可以使用break和continue的,但是for-in的index是string类型 实例 阅读详情
 方法名后何时加圆括号?调用方法,立即执行,就加();将方法作为对象传递,不加()


 闭包:函数使用了不属于自己的局部变量


 闭包的问题:
 1.普通方法调用完,活动对象回收。但是闭包方法导致父活动对象不释放,所以闭包方法会占用更多内存空间。
 重新获得闭包,闭包内的局部变量都重置
 2.闭包中多个方法,访问的是同一个局部变量。只要变量变化,所有方法都受影响。


 将n放到参数里面可以实现获得一个随机的n值,但是n也属于局部变量,这种方法和之前的方法一样,都是闭包,区别就是之前的方法外界不能修改n值,而这种方法可以在首次赋值时设置n值,一般建议用这个方法
 function counter(n){
  function getUnique(){
   return n++;
  }
  return getUnique; 
 }
 var c=counter(10);  //获得n的值,且仅获得一次
 console.log(c());
 console.log(c());
 n=0;   
 console.log(c());
 console.log(c()); 
 c=null; 
 c=counter(101);   
 console.log(c()); 


 要想修改闭包内的变量,只能用闭包自己的方法。


 function counter(){
  var n=0;
  var getUnique=function(){return n++;}
  var reset=function(){n=o;} //reset活动对象里面什么都没有的,没有var和参数定义,这个n不属于reset里面的
  return [getUnique,reset];  //返回多个方法,可以放到数组里。方法就是对象,只要是对象都可以放到数组中
 }
 var funs=counter();  //获得多个方法的数组,等于var funs=[function(){return n++;},function(){n=o;}]
 console.log(funs[0]()); //取出第一个方法让它立即执行
 console.log(funs[0]()); //1
 console.log(funs[0]());  //2
 n=0;   
 console.log(funs[0]());
 console.log(funs[0]());
 funs[1]();   //调出reset方法,将方法重置。reset里面的n和getUnique里面的n是同一个
 c=null; 
 c=counter();   
 console.log(funs[0]()); 


 reset里面的n=0和getUnique里面的n++都没有定义n,使用的都是同一个父级counter里面的n


 function clusure(){
 var arr=[];
 for(var i=0;i<3;i++){   //i最后一次值是3,父级里存的是3
 arr[i]=function(){return i;};
 }
 return arr;
 }
 var funs=clusure();
 console.log(funs[0]());   //3  为何结果是这个?
 console.log(funs[1]());   //3  为何结果是这个?
 console.log(funs[2]());   //3  为何结果是这个?


 实现汇率换算:
 function change(){
   var h1_d=5.7;
   var h1_e=10;
   function rbmToD(rmb){
   return rmb/h1_d;
   }
   function rbmToE(rmb){
    return rmb/h1_e;
    }
 return[rbmToD,rbmToE];
 }
 var funs=change();
 console.log(funs[0](100));
 console.log(funs[1](100));


 自定义对象
 面向过程:以任务的执行步骤为编程顺序
     方法:封装并重用复杂任务的方式
     问题:功能和功能操作的数据,分离
 面向对象:在设计过程中,一切以描述一个对象为基本原则。
 什么是对象:封装现实中一个事物的属性和功能的结构
 对象中包含:属性和功能(在程序中功能就是方法)!


 js中的对象:其实就是关联数组!


 关联数组写法:使用key:value对,每个key之间用逗号分隔,属性名本身就是字符串
  var fbb={
       "姓名":"武则天",
       "数学":90,
       "语文":65,
       "英语":91,
       };
 console.log("姓名:"+fbb["姓名"]);
 console.log("姓名:"+fbb.姓名);  //两种方法结果一样


 fbb["姓名"]和fbb.姓名两种方式都可以,但是第一种方式里面要加引号的,以后推荐使用第二种方式。


 js中内置对象其实有11个:
 包装类型:String、Boolean、Number
 所有对象的父类型:Object、Function
 工具类型:Array、Date、RegExp、Math
 错误类型:Error(EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError)
 全局类型:Global(或者叫window)


 宿主对象:由浏览器厂家自定义提供实现
 分为两类:BOM对象、 DOM对象


 js中创建自定义对象方式:
 1.对象直接量方式:将属性名和属性值直接写出来的方式,也就是关联数组。属性名必须是字符串,但是属性名的引号可加可不加,一般不加引号的,但是要知道它是字符串。如果要在属性名中间加空格之类的,要加引号的。
 在js中凡是见到大括号{},就是对象!
 2.new Object方式:其实就是使用父类型Object创建对象。相当于创建一个空数组。如:
 var wzt=new Object();  //相当于创建一个空数组var wzt={};
 wzt.姓名="武则天";    //也可以使用wzt["姓名"]="武则天";但是不推荐按这种方式
 wzt.数学=90;
 console.log("姓名:"+wzt.姓名);
 console.log("数学成绩:"+wzt.数学);
 3. function对象模板




 关联数组的length属性是失效的!!


 遍历对象:
  var fbb={
       "姓名":"武则天",
       "数学":90,
       "语文":65,
       "英语":91
       };
 function getProperties(obj){
   for(var key in obj){
     console.log(key+":"+obj[key]);   
   }
 }
 getProperties(fbb);
 console.log(fbb.husband);  //访问一个不存在的属性是不会出错的,返回的是undefined
 if("husband" in fbb){
   console.log(fbb.husband);
 }else{
   console.log("未婚");
 }




 如何检测对象中是否存在指定属性:
 1.使用in关键字:console.log('ename' in emp1);
 2.使用对象的hasOwnProperty()方法:console.log(emp1.hasOwnProperty('ename'));
 3.使用undefined判断:console.log(emp1.ename===undefined);
 4.在条件语句中直接判断:if(emp1.ename){console.log('ename属性存在');}


 例:
 方法1:
 if("husband" in fbb){
   console.log(fbb.husband);
 }else{
   console.log("未婚");
 }
 方法2:这种方法最常用,可以判断任意对象的属性是否存在。
 if(fbb.hasOwnProperty("husband")){
   console.log(fbb.husband);
 }else{
   console.log("未婚");
 }
 方法3:
 if(fbb.husband!==undefined){
   console.log(fbb.husband);
 }else{
   console.log("未婚");
 }
 方法4:这种做法分不清null和undefined,如果将设置husband:null;或者0等时,会返回“未婚”。判断内置对象的属性或方法时,用这种方法,通常用它判断浏览器兼容性
 if(fbb.husband){
   console.log(fbb.husband);
 }else{
   console.log("未婚");
 }


 在访问那些极有可能不存在的属性时,要先判断再使用。


  创建自定义对象:3种
 1.直接量:var obj={属性名:属性值,...}
 访问属性?obj.属性名

 可能不存在的属性,使用之前必须先判断存在,再使用:
 判断任意对象是否包含属性:var boolean=obj.hasOwnProperty("属性名")
 如果包含返回true,否则返回false
 判断内置对象,浏览器对象兼容性:if(obj.属性名)--》
 undefined,null,0,"",NaN都是false,其余都是true

 自定义对象创建的依据?需求中的名词!就是软件要保存的数据。
 需求中的动词:对象
 的功能/方法
 对象的属性?表,证,单,据

 对象中的方法:其实指的就是对象中的功能。
 如何定义:var obj={
     方法名:function(){方法体}
 }

 方法其实就是一个对象。对象中的方法本质上就是一个特殊的属性。对象中的
 方法是操作数据的功能。

 对象自己的方法,如何访问自己的属性:this指代当前对象。
 什么是this?是js栈中一个固定的指针,永远指向当前正在操作的对象。


 //创建hmm对象,有姓名,年龄属性,还包含自我介绍功能
 var hmm={
   name:"Han Meimei",
   age:18;
   intr:function(){  //一个对象中的方法就是一个特殊的属性
       //自我介绍
   var str="my name is "+this.name+". I'm "+this.age+" years old";
    }
 };
 hmm.intr();     //this指针指向hmm


 操作任何元素之前,先找到他:document.getElementById();


 例:
 <script>
 var calc={
  n:undefined,
  m:undefined,
  add:function(){
    return this.n+this.m;
   },
   minus:function(){
    return this.n-this.m;
   }
 }
 calc.n=parseInt(prompt("第一个数"));
 calc.m=parseInt(prompt("第二个数"));
 </script>
 <button onclick="alert(calc.add())">加法</button>
 <button onclick="alert(calc.minus())">减法</button>


 面向对象的三大特点:封装、继承、多态
 封装:将数据和对数据的操作,包装为一个整体,过程就叫做封装。

 继承:使用现有类型,创建出新的类型。新类型中可以使用现有类型的属性和
 功能!并且新类型可以扩展出现有类型没有的属性和功能。


 所有对象的父类型,Object:toString()
                           hasOwnProperty()
 都可以被使用

 对象模板:又叫构造函数。专门从来反复创建相同结构的对象的专门方法。
 如何定义构造函数:function 类型名(属性值参数...){
 this.属性名=属性值;
 ......
 this.方法名=function(){
 方法体;
 }
 }

 new 构造函数():
 new:开空间
 构造函数:划分空间结构,并且初始化内部属性的值

 例:
 function Student(name,age){
  this.name=name;
  this.age=age;
  this.intr=function(){
 console.log("my name is "+this.name+" I'm "+this.age+" years old");
 }
 this.toString=function(){
 return "[name:"+this.name+",age:"+this.age+"]";
 }
 }
 var lilei=new Student("Li Lei",19); //new是创建一个obj,Student("Li
 Lei",19)调用构建函数
 var hmm=new Student("Han Meimei",18); 
 lilei.intr();
 hmm.intr();


 重写方法:如果子类型认为父类型的方法不好用,可以重新定义和父类型完全
 同名的方法,实现覆盖!

 console.log(lilei.toString()); //得到的值都是object
 console.log(hmm.toString());   //得到的值都是object

 默认toString方法如果无法打印内容,默认打印的是对象类型。
 一般自定义类型对象,都会重写toString方法。

 this.toString=function(){
 return "[name:"+this.name+",age:"+this.age+"]";
 }

 toString方法利用for in来更加灵活的实现:
 this.toString=function(){
  var str="";
  for(var key in this){
    if(typeof(this[key]!="function"){
    str+=key+":"+this[key]+",";
     }
   }
   return str;
 }

 整个案例综合如下:
 function Student(name,age){
  this.name=name;   //分配给将来的对象的
  this.age=age;
  this.intr=function(){
 console.log("my name is "+this.name+" I'm "+this.age+" years old");
 }
 this.toString=function(){
  var str="";
  for(var key in this){
    if(typeof(this[key])!="function"){
    str+=key+":"+this[key]+",";
     }
   }
   return str;
 }
 }
 var lilei=new Student("Li Lei",19);
 var hmm=new Student("Han Meimei",18); 
 lilei.intr();
 hmm.intr();
 console.log(lilei.toString()); //得到的值都是object
 console.log(hmm.toString());
 hmm.birth="1990-05-30";
 console.log(hmm.birth);    // 1990-05-30
 console.log(lilei.birth);  //undefined
 hmm.count=10;
 lilei.count=10;
 hmm.count--;
 lilei.count--;
 console.log(hmm.count);  //9
 console.log(lilei.count); //9


 原型与继承:
 原型:在JavaScript中,函数本身也是一个包含了方法和属性的对象。原型是
 已经存在的

 原型prototype:所有方法都有原型。构造函数背后,专门保存由方法创建出
 的对象共有的数据。任何对象无权修改原型中的数据。

 自有属性:只给一个对象定义的属性,仅属于当前对象。其他对象不能共享。
 如:
 hmm.birth="1990-05-30";
 console.log(hmm.birth);    // 1990-05-30
 console.log(lilei.birth);  //undefined

 定义共有属性:
 Student.prototype.count=10;
 /*lilei.count--;   //任何对象无权修改原型中的数据,如果赋值,会自动
 为*/对象创建同名自有属性
 Student.prototype.count--;
 console.log(lilei.count);
 console.log(hmm.count);


 Student.prototype.count=10;
 lilei.count--; 
 lilei.count--;
 Student.prototype.count--;
 console.log(lilei.count);   //取自己本身的值,8  只要自己已经有的,
 就不会从原型中取值
 console.log(hmm.count);    //取原型的值,9

 共有属性:保存在原型中,由所有同类型对象共享的属性。
 设置/读取:构造函数.prototype.共有属性名


 不管是否创建了一个函数,只要有方法,就有原型


 删除属性定义:delete方法,即可以删除自有属性,也可以删除共有属性。
 语法:delete 对象[.prototype].属性;  -->中括号里面可有可无

 hasOwnProperty:仅检测当前对象的自有属性!
 属性 in 对象:不但检测当前对象的自有属性,而且同时检测当前对象原型的
 共有属性!
手把手教你配置UEFI Secure Boot:从密钥生成到系统验证(附避坑指南) 本文详细介绍了如何配置UEFI Secure Boot,从密钥生成到系统验证的全过程,包括PK、KEK等关键密钥的生成方法,以及常见问题的解决方案。通过实战案例和避坑指南,帮助用户有效提升系统启动安全性,防止恶意软件植入。 阅读详情

相关推荐

SpringBoot多线程查询实战-查询库中所有数据多线程实现

但是,在数据量较大且服务器资源足够的情况下,多线程方法通常能够显著提高查询效率。此外,由于它是同步执行的,没有利用并行处理的能力,所以在处理大量数据时可能会比较慢。这个方法采用了分页查询的方式,每次只获取一部分数据,从而避免了内存溢出的问题。然而,它也是同步执行的,没有利用多线程或并行处理的能力。如果每次分页查询的数据量仍然很大,或者需要查询的轮数很多,那么这种方法的效率可能仍然会受到限制。​ ​ ​在比较这三种方式的效率时,我们需要考虑几个关键因素:数据量的大小、查询操作的复杂性、以及并行处理的能力。

勇敢牛牛,不怕困难! 4809

JS之This篇-菜鸟的福利

/*   this:是唯一的一个引用关键字。始终指向程序当前正在使用的对象,this仅用于函数内。   全局函数:this,始终指向window对象   对象的方法:this,始终指向调用方法的对象   构造函数中的this:指刚创建的新对象   */       /*全局方法中的this指向window*/

XiaoKang的博客 623

eMMC数据擦除的方式

接下来主要是讲解erase、trim、discard的差异,涉及的command有CMD35、CMD36、CMD38。一般用来擦除整卡或者某些分区,如果只想擦除一个。以下是device status的部分解释。eMMC的数据擦除方式有6种,分别是。将会跳过写保护,只执行其他的范围。Discard的命令序列是。Erase的命令序列是。的范围有包含写保护,Trim的命令序列是。

DPJimmy的博客 1772

一文搞懂Js中的面向对象

前言 面向对象是Js中永恒不变的话题,学好Js的面向对象编程能很大程度上提高代码的重用率和可维护性。这篇文章打算从基本概念到重点难点通过案例演示带你掌握面向对象编程。 基本概念 对象是程序中描述现实中一个具体事物的属性和功能的程序结构,程序中集中存储一个事物的属性和功能的一个存储空间 面向对象编程就是程序都是先将数据保存在对象中,再按需使用对象中的成员数据。今后所有程序基本都使用面向对象思想开发...

weixin_46399753的博客 424

Ubuntu24.04/20.04设置网络共享文件夹

Ubuntu20.04利用向日葵远程控制时,不能传输文件。使用linux版本QQ来传输是可以的,不过linuxqq功能真的很弱。因此,打算在Ubuntu系统中建立一个共享文件夹,可在局域网中访问。 1、新建共享文件夹 获取root权限,或者登陆root账户。可在/home文件夹(或其它文件夹)下新建一个文件夹,如share。 右击文件夹,选择“本地网络共享”菜单。按下图设置。 点击确定。如果系统已经安装了samba服务器,就可以进入第3步。如果没有,会提示安装,按提示安装,可能会出错,可进.

willhu2008的专栏 2万+

基于FreeRTOS与MQTT的物联网技术应用系列——步进电机控制(三)SD卡驱动、FatFS等的移植和ini配置文件读取的实现

本文实现了基于STM32F107VC的金牛开发板的基于SPI模式的SD卡驱动和FatFS的移植,以及利用minini库对ini配置信息文件进行读取。

sqshining的专栏 2137

闭包问题

function test(){ var arr=[]; for(var i=0; i<10; i++){ arr[i]=function (){ console.log(i); } } return arr; } var myArr=test(); for(var i=0; i<10; i++...

from_shanghai的博客 350

YOLOv8 改进涨点 | 模块即插即用 直接可用

在目标检测任务中,注意力机制能够帮助模型聚焦于图像中的关键区域,显著提升检测精度。。创建模块代码注册模块修改任务解析tasks.py创建YAML配置文件模块核心优势适用场景计算开销SOCA捕获二阶统计信息,增强通道间相关性需要精细特征区分的场景中等SK自适应多尺度核选择多尺度目标检测中等偏高显式特征聚集-分配机制全局上下文建模中等A2-Net双线性注意力,高效全局交互复杂场景理解中等偏高CrissCross线性复杂度全局上下文高分辨率输入,长距离依赖较低。

u012133341的博客 2257

JavaScript - function

函数定义 function 函数名(参数表){ 函数执行部分 return } 参数不需要提供类型 函数的三种定义方式 // function语句式 function funName() { } // 函数的直接量ECNAScript var funName=function () { } // function构造函数式 // 例: ...

YiShiChangAnLuan 268

Odoo17商城微信支付模块,快速一个实现可在线支付的商城

通过集成微信支付APIv3,Odoo 系统实现了高效、安全的支付流程。Native扫码支付和Jsapi微信浏览器内直接拉起支付为用户提供了更加便捷的支付方式。同时,通过发送下单及支付消息给管理员,商家可以实时了解订单状态并进行相应处理。通过集成微信支付 结合 Odoo 系统内置的商城模块,可以为商家快速实现功能完善、高效的电商解决方案。

AaronZZH 的博客 2268

IEC104协议学习专栏内容规划

IEC104协议的编程学习

sixtome 1110

闭包

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> var a=10; ...

盏茶作酒的博客 166

添加USB wifi驱动到RK3568

在日常开发中我们经常需要用到wifi功能,一般来说soc厂家都会事先做好了几个厂家的wifi驱动在内核源码目录下,我们只需要按原理图配置对应的设备树即可。常用的wifi的接口有:USBSDIOPCIE下面来介绍这这种接口是如何使用wifi芯片。提示:以下是本篇文章正文内容,下面案例可供参考本小节介绍了一个配置一个USBwifi驱动的整个流程,并没有介绍到SDIO,下小节基于AP6256介绍如何使用。

qq_24093081的博客 2049

javascript基础知识6~10

6、JavaScript 变量 JavaScript 变量是存储数据值的容器。 在本例中,x、y 和 z 是变量: 实例 var x = 7; var y = 8; var z = x + y; 亲自试一试 从上例中,您可获得: x 存储值 7 y 存储值 8 z 存储值 15 类似代数 在本例中,price1、price2 以及 total 是变量: 实例 var price1 = 7; var price2 = 8; var price3 = 12; var total = price1 + pri

qq_41995845的博客 446

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

JavaScript基础知识整理10

操作表单 用JavaScript操作表单和操作DOM是类似的,因为表单本身也是DOM树。 不过表单的输入框、下拉框等可以接收用户输入,所以用JavaScript来操作表单,可以获得用户输入的内容,或者对一个输入框设置新的内容。 HTML表单的输入控件主要有以下几种: 文本框,对应的<input type="text">,用于输入文本; 口令框,对应的<inp...

weixin_37328901的博客 189

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

js基础知识汇总10

使用dom操作css <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> #box1{ width: 100px; height: 100px; background-color: red; } </style>

AnalogElectronic的博客 196

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

笔记10--js基础知识

Js基础知识 1.基本概念 为什么需要有JavaScript(JS有什么用) HTML:负责呈现内容 CSS:负责内容呈现的方式 HTML+CSS:实现了静态页面 实际上,我们更多的页面的要求是动态的   比如新浪的动态新闻,热点,聚焦...页面的自动切换。 比如时间也是动态显示的。 还有验证码、注册页面的数据验证...   怎么才能让页面动起来? 答案就是JavaScr

yck0ng的博客 574

10个你应该知道的JavaScript字符串的基础知识

length 属性被称为返回字符串中的字符数,但它实际上返回的是 UTF-16 单元的数量,仅当每个字符都适合 16 位时,它才返回字符数,否则返回一个大数字。字符串中的字符可以像在数组中一样使用括号内的索引进行访问,这可能会给人一种印象,即我们可以更改该索引处的字符。这是一个错误的假设,字符串中的字符不能更改。replace 方法在字符串中搜索指定的子字符串,并返回替换给定子字符串的新字符串。确实,一旦声明的字符串不能更改,所有字符串方法都不能更改源字符串,他们总是创造一个新的文本。

qq_41838305的博客 1453

JavaScript面试题01-10

JavaScript基础面试题01-10 每日坚持学10道题 1. [单选题]: 有以下 ES6 代码 function * gen() { yield 1; yield 2; yield 3; } 下面选项描述正确的是哪个? A.gen()执行后返回 2 B.gen()执行后返回 undefined C.gen()执行后返回一个 Generator 对象 D.gen()执行后返回 1 来自:百度 2016 研发工程师笔试真题(三) 答案:C 提示: 这是 ES6 的新 feature, fun

Ashy- 在这里成长 714

为初学者介绍10个最常被问到的Javascript问题

在本文中,我收集了关于Javascript 最常被问到的 10 个问题及其答案。 它们大多涉及 Javascript 的基础知识,所以如果你刚刚开始学习 JS,最好理解并掌握它们并。 这个 10 问题涉及 JS 中闭包、promise,变量提升、类等等。 尽管这些知识不是很难,但是知道答案是一件好事,因为其中一些经常在面试中会被问到。 在每种编程语言中,一些概念似乎都很容易,但是对于初学者来说,理解起来并不是那么容易。 所以,我十分乐意向你描述和解释别人提出的所有问题,这可能对你有所帮助,而且你也可以避免

BOM485480的博客 383

前端基础知识---10 Node.js(一)

匹配前一个字符出现1次或范围次 +{2,6} (ab)+ 可以匹配多个ab。(1)导入http模块 const http = require('http')数字\d、空白符\s、单词\w、行首^、结尾$ 等 .任意字符()[a-z]表示所有的小写字符,[A-Z]表示所有的大写字符。客户端:消费资源(使用http模块就可以将客户端转为服务器)(2)在实际应用中,URL中的80端口可以被省略。

a2679431的博客 1006

前端基础知识---10 Node.js(二)

Express是基于Node.js平台,快速、开放、极简的Web开发框架(用于创建Web服务器)Express是基于http内置模块封装出来的(类似于Web API和jQuery,后者是基于前者进一步封装得来的)Express可以更方便快捷创建Web网站的服务器和API接口的服务器10.7.2创建一个web服务器首先安装express npm i express//1.导入express//2.创建web服务器//3.启动web服务器})第一个js文件(中间件)

a2679431的博客 1013

(javascript)(基础知识+实例) 10.DOM

文档对象模型 和网页相关操作网页样式实现动画实现事件交互document是js自带的,可以通过document获取整个网页获取标签几种方式操作标签的样式操作元素(标签)的属性操作元素的类名操作内容操作元素尺寸操作元素的偏移含义: 由用户行为触发的代码组成部分绑定事件this关键字(以下代码均为课程实例)(1)设置样式 (2)间隔放大 (3)获取样式 (4)操作元素的属性 (5)轮播图 (6)自定义属性 (7)操作类名 (8)操作内容 (9)输入框里面的内容 (10)敏感字过滤 (11)获取一个元素的宽高

sj1877288470的博客 264

谷哥的小弟学前端(10)——JavaScript基础知识(1)

探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 具体解释Android主流框架不可或缺的基石 站在源代码的肩膀上全解Scroller工作机制 Android多分辨率适配框架(1)— 核心基础 Android多分辨率适配框架(2)— 原理剖析 Android多分辨率适配框架(3)— 使用指南 自己定义View系列教...

weixin_33989780的博客 297

html css js需要一起学吗,web前端入门:css+html5+javascript同时学可以吗?

原标题:web前端入门:css+html5+javascript同时学可以吗?HTML+CSS+JS是前端基础核心知识,肯定是都要学的。在web前端中,HTML是结构标准,CSS是样式标准,JS是行为标准,三者缺一不可。说的直白点,HTML就是骨架,CSS就是皮肤,JS就是灵魂。 虽说三者的重要性很难分出高下,但在不同的领域里三者有不同的侧重,比如侧重结构布局时,HTML独占优势,侧重样式表现时C...

weixin_39997089的博客 368

回答一下这 10 个最常见的 Javascript 问题

作者:Duomly 译者:前端小智 来源:dev 点赞再看,微信搜索 【大迁世界】 关注这个没有大厂背景,但有着一股向上积极心态人。本文 GitHub https://github.com/qq449245884/xiaozhi 上已经收录,文章的已分类,也整理了很多我的文档,和教程资料。 为初学者介绍一下这 10 个最常被问到的 JavaScript 问题 在本文中,我收集了关于Javascript 最常被问到的 10 个问题及其答案。 这10 个问题大多涉及 Javascript 的基础知识,所.

粉丝们务必加入微信粉丝群 2710
上一篇: JavaScript基础知识(9)
下一篇: nodeJs学习(1)
敲代码的猫
博客等级 码龄10年 70粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值