Table des matières
js peut désormais fonctionner sur
1 Côté navigateur
2 Système d'exploitation de l'ordinateur
Outil d'installation de packages
1.npm
2.bower
3.yarn
Outil de création d'emballage (pour être honnête, je n'arrive toujours pas à faire la différence maintenant)
Outil de création Exécuteur de tâches
Outil d'empaquetage Outil d'empaquetage de modules
js recommandé dans la page
La méthode d'introduction traditionnelle script src
introduction dynamique du nœud
es2015==es6 =>true
attribut jquery à ajout automatique
Mes réflexions actuelles sur vue
contenteditable
法二
文本框和按钮同高对齐(less)
正则替换 保留原始内容
关于vue一点新的体会
webstorm 保存不会触发webpack watch
text align justify
vue validator
关于postcss中用于不转换rem的注释/*no*//*px*/在webpack build中不生效的解决办法
Maison interface Web tutoriel HTML Quelques idées et partages sur js

Quelques idées et partages sur js

Jul 18, 2017 pm 01:44 PM
前端 Youdao scène

JavaScript est un langage de script pour Internet !

JavaScript est utilisé par des millions de pages Web pour améliorer la conception, valider les formulaires, détecter les navigateurs, créer des cookies, etc.

JavaScript est le langage de script le plus populaire sur Internet.

JavaScript est facile à utiliser ! Vous allez adorer !

js peut désormais fonctionner sur

1 Côté navigateur

2 Système d'exploitation de l'ordinateur

via le fameux nœud, le nœud est composé de c/ Le. L'environnement d'exécution js écrit en cpp est probablement js compilé en c, assemblé en langage machine. . . Probablement

compilation de nœuds
js
langage machine exécutable du système d'exploitation

Outil d'installation de packages

1.npm

2.bower

3.yarn

Maintenant, tout le monde le recommande. . . On dit que c'est plus rapide et meilleur


Outil de création d'emballage (pour être honnête, je n'arrive toujours pas à faire la différence maintenant)

Outil de création Exécuteur de tâches

Aider à compresser des fichiers ? lutin? La confusion, etc. nécessite une simplification manuelle ? Travail manuel gulp grognement

Outil d'empaquetage Outil d'empaquetage de modules

Le code modulaire est enfin assemblé et empaqueté pour une utilisation en ligne avec Webpack Browserify et les Seajs requis sont empaquetés du côté du navigateur JS.


js recommandé dans la page

La méthode d'introduction traditionnelle script src

introduction dynamique du nœud

C'est un nœud très magique L'outil webpack assemble dynamiquement votre page. Par exemple, si vous utilisez le plug-in dans les modules de nœuds, vous n'utilisez pas réellement de script pour l'introduire dans la page ? Lorsque vous ne le comprenez pas pour le moment, vous ne pouvez pas faire preuve de bon sens pour penser au développement (vue-cli). C'est la construction d'assembly dynamique qui regroupe tous les assemblys dynamiques en un seul. . .


es2015==es6 =>true


attribut jquery à ajout automatique

a.css({'property':'+=value ' })


Mes réflexions actuelles sur vue

Tout d'abord, parlons des avantages. Il exploite uniquement les données sans opérer dom

Parlons des lacunes. Si vous voulez faire a, vous devez faire b, si vous voulez faire c, si vous voulez faire a, si vous voulez faire b, si vous voulez faire. b, si tu veux faire c, si tu veux faire a, si tu veux faire b, si tu veux faire b, si tu veux faire c, si tu veux faire a, si tu veux faire b , si tu veux faire b, si tu veux faire c, si tu veux a Fais b, fais b, fais c, fais a, fais b, fais b, fais c, fais a, fais b, fais b, fais c, faire a, faire b, faire b, faire c, faire a, faire b, faire b, faire c, faire a, faire a. Faire b, faire b, faire c, faire a, faire b, faire b, fais c, fais a, fais b, fais b, fais c, finalement c'est dur à comprendre. Afin de le rendre plus pratique et plus gênant, nous devons ajouter plus de choses


contenteditable

div simule un éditeur de texte riche en zone de texte

<div class="simutextarea">
                    <span class="simut-fastenbegin">#youCantDeleteMe</span><span class="simut-textwrapper">
                        <span class="simut-textplaceholder">Hot or not? Tell it like it is and hashtag!</span>
                        <span class="simut-textplaceinput" contenteditable="true"> </span>
                    </span>
                </div>
Copier après la connexion

Mais il y a certains problèmes qui ne peuvent pas résoudre le problème du curseur (saut à la première page). La boîte de publication de Baidu Tieba est simulée en utilisant ceci. Si vous avez le temps, voyons comment ils font. >


Sauter en fonction de l'appareil

Trois parties peuvent sauter et recevoir l'agent utilisateur envoyé depuis le navigateur

  1. Saut d'exploitation et de maintenance

  2. Redirection de saut de programme

  3. Redirection frontale

En même temps, ces trois parties plus le réseau les opérateurs et même les routeurs peuvent ajouter de manière malveillante des éléments à la page avec un DNS malveillant

le nœud est le même qu'un serveur d'exécution


L'image est au centre

  1. centre de position d'arrière-plan

  2. position absolue


Plusieurs lignes omises (navigateurs modernes)

overflow: hidden;text-overflow:ellipsis;display: -webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
Copier après la connexion

Page cdn contenu vraiment dynamique

page Après avoir été mis en cache par le serveur cdn, le cache doit être actualisé pour vraiment changer. Ensuite, le contenu qui doit vraiment être modifié avec diligence nécessite js pour l'obtenir (tel. comme les informations de l'utilisateur actuellement connecté, etc.)

js régulier pour trouver toutes les correspondances correspondantes

var regEx=/js_quantity[a-z]+/g;regEx.exec('js_quantityabc js_quantityminus minus disabled');regEx.exec('js_quantityabc js_quantityminus minus disabled');regEx.exec('js_quantityabc js_quantityminus minus disabled')
[0];regEx.exec('js_quantityabc js_quantityminus minus disabled').index;
Copier après la connexion
Exécuter en continu exec


async/await

démo (extrait de script n°1)

//测试 async async async await//先来的 返回一个promise 完成时调用resolvevar sleep=function(){ return new Promise(function(resolve,reject){
     setTimeout(function(){         console.log('Asettimeout has been executed, promiss has been resolved');
         resolve(['sleep1','sleep2']);
     },3000);
 });
};//后到的 async(异步)修饰function await修饰执行先来的var start=async function(){ let sleepreturnarray=await sleep(); console.log('%ceven though i do not have a time out, i still will be executed after 3 sec, after the promiss resolveed'+sleepreturnarray[1],'color:red;');
};
start();
Copier après la connexion
async signifie qu'il s'agit d'une fonction asynchrone, wait ne peut être utilisé que dans cette fonction.

attendre signifie attendre la promesse de renvoyer le résultat avant de poursuivre l'exécution.

await doit être suivi d'un objet de promesse (bien sûr, les autres valeurs de retour n'ont pas d'importance, elles seront simplement exécutées immédiatement, mais cela n'aurait aucun sens...)

Ça y est, à l'heure actuelle, c'est la solution ultime à l'enfer des rappels asynchrones, bien sûr, elle doit être combinée avec Babel. Notez qu'actuellement, Ultimate


vue composant communication

Même si vous ne l'aimez pas, vous devez l'utiliser si vous êtes chargé de l'utiliser. . .

Les portées entre les composants sont indépendantes et les composants doivent souvent transmettre des données entre eux.

A est le composant parent, et il y a les sous-composants B et C ci-dessous.
Les données de A peuvent être transmises à B et C via des accessoires.
A peut appeler des événements de B et C via $broadcast pour exploiter les données de B et C.
B et C peuvent appeler les événements de A via $dispatch pour manipuler les données de A.
Lorsque B aura besoin d'exploiter les données de C, cela sera plus gênant. Il devra d'abord $expédier à A, puis $diffuser vers C.

Ce n'est pas grave si le projet est relativement petit. Plus le projet est grand, plus les composants impliqués communiqueront de plus en plus fréquemment. À ce moment-là, la gestion sera très fatigante et sujette aux erreurs. C'est ce qu'est Vuex. Il peut placer les données dans une couche distincte et fournir des méthodes de manipulation externe des données internes. C’est un peu vulgaire, alors comprenons-le.

=== === ===Mise à jour : Vue 2 a été publiée, $dispatch et $broadcast ont été supprimés et l'événement de communication ping-pong ne se produira plus.

Nous avons besoin d'une instance Vue pour servir de support de communication. La documentation officielle de Vue l'appelle bus d'événements. exporter le nouveau Vue par défaut (); Lorsque nous avons besoin d'une communication d'événements entre les composants, il nous suffit d'utiliser $emit et $on sur ce bus d'événements.

import Bus from './bus.js';

export default Vue.extend({
  template: `
  <div>{{msg}}</div>
  `,

  data: () => ({
    msg: 'Hello World!'
  }),

  created() {
    Bus.$on('setMsg', content => {
      this.msg = content;
    });
  }
});
Copier après la connexion
import Bus from './bus.js';

export default Vue.extend({
  template: `
  <div @click="sendEvent">Say Hi</div>
  `,

  methods: {
    sendEvent() {
      Bus.$emit('setMsg', 'Hi Vue!');
    }
  }
});
Copier après la connexion
Le bus d'événements est une pratique que vous pouvez également utiliser dans Vue 1.x.


Grand est centré dans un petit conteneur

Méthode 1

Grand : position absolue à gauche 50 % -[la moitié de la ; largeur du grand ] ; haut...Omettre la même chose qu'à gauche

Petit : position relative

法二

设置为背景图 且background-position center


文本框和按钮同高对齐(less)

form{			font-size: 0;position: relative;			.formitem{				height: 30px;line-height: 30px;				font-size: 14px;vertical-align: middle;
			}			input[type=text]{				.formitem();				border: 1px solid #000;				padding: 0 5px 0 35px;				width: 235-40px;
			}			button{				.formitem();				color: #fff;background-color: #000;				width: 135px;height: 32px;line-height: 32px;
			}			&:before{				content: '';display: inline-block;position: absolute;				left: 38px;				top: 1px;				.sprite(@youjiandingyue_07);
			}
		}
Copier après la connexion

正则替换 保留原始内容

http://([A-Za-z0-9.-]+).sammydress.com
https://$1.sammydress.com

$1 是代表([A-Za-z0-9.-]+)匹配到的模糊内容
$1-$n分别代表第1个和第n个括号内匹配到的内容。

var regEx=/([A-Za-z0-9.-]+)abc/;'sdjlfjslfabc'.replace(regEx,'$1def')
Copier après la connexion

结果是"sdjlfjslfdef"


关于vue一点新的体会

专注于操作数据,数据和视图分离,通过操作数据的方式操作视图,mvvm
而不是$().html()等等这种形式


webstorm 保存不会触发webpack watch


原来是这样啊啊啊啊啊啊


text align justify

text-align:justify 属性是全兼容的,使用它实现两端对齐,需要注意在模块之间添加[空格/换行符/制表符]才能起作用,同样,实现文本对齐也是需要在字与字之间添加[空格/换行符/制表符]才能起作用


vue validator


中文文档


关于postcss中用于不转换rem的注释/*no*//*px*/在webpack build中不生效的解决办法

sass loader会把注释去掉 导致用于告诉postcss不用转换rem的注释也去掉 导致边线px变成小数rem 显示不出来的bug
sass?outputStyle=expanded 展开 带注释的?

module: {loaders: [
            {test: /\.scss$/,//感謝谷歌loader: 'style!css!postcss-loader!sass?outputStyle=expanded',// include: APP_PATH},
        ]
    },
Copier après la connexion

webpack 可以接受形如!sass?outputStyle=expanded&sourceMap=true&sourceMapContents=true&includePaths[]=./node_modules 的配置参数后的loader

 

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Un article pour parler du contrôle de la mémoire dans Node Un article pour parler du contrôle de la mémoire dans Node Apr 26, 2023 pm 05:37 PM

Le service Node construit sur une base non bloquante et piloté par les événements présente l'avantage d'une faible consommation de mémoire et est très adapté à la gestion de requêtes réseau massives. Dans le contexte de demandes massives, les questions liées au « contrôle de la mémoire » doivent être prises en compte. 1. Le mécanisme de récupération de place du V8 et les limitations de mémoire Js sont contrôlés par la machine de récupération de place

Parlons en profondeur du module File dans Node Parlons en profondeur du module File dans Node Apr 24, 2023 pm 05:49 PM

Le module de fichiers est une encapsulation des opérations de fichiers sous-jacentes, telles que l'ajout de lecture/écriture/ouverture/fermeture/suppression de fichiers, etc. La plus grande caractéristique du module de fichiers est que toutes les méthodes fournissent deux versions de **synchrone** et ** asynchrone**, with Les méthodes avec le suffixe sync sont toutes des méthodes de synchronisation, et celles qui n'en ont pas sont toutes des méthodes hétérogènes.

Découvrez comment écrire des tests unitaires dans Vue3 Découvrez comment écrire des tests unitaires dans Vue3 Apr 25, 2023 pm 07:41 PM

Vue.js est devenu aujourd'hui un framework très populaire dans le développement front-end. À mesure que Vue.js continue d'évoluer, les tests unitaires deviennent de plus en plus importants. Aujourd'hui, nous allons explorer comment écrire des tests unitaires dans Vue.js 3 et fournir quelques bonnes pratiques ainsi que des problèmes et solutions courants.

PHP et Vue : une combinaison parfaite d'outils de développement front-end PHP et Vue : une combinaison parfaite d'outils de développement front-end Mar 16, 2024 pm 12:09 PM

PHP et Vue : une combinaison parfaite d'outils de développement front-end À l'ère actuelle de développement rapide d'Internet, le développement front-end est devenu de plus en plus important. Alors que les utilisateurs ont des exigences de plus en plus élevées en matière d’expérience des sites Web et des applications, les développeurs front-end doivent utiliser des outils plus efficaces et plus flexibles pour créer des interfaces réactives et interactives. En tant que deux technologies importantes dans le domaine du développement front-end, PHP et Vue.js peuvent être considérés comme une arme parfaite lorsqu'ils sont associés. Cet article explorera la combinaison de PHP et Vue, ainsi que des exemples de code détaillés pour aider les lecteurs à mieux comprendre et appliquer ces deux éléments.

Comment résoudre les problèmes cross-domaines ? Une brève analyse des solutions courantes Comment résoudre les problèmes cross-domaines ? Une brève analyse des solutions courantes Apr 25, 2023 pm 07:57 PM

Le cross-domaine est un scénario souvent rencontré en développement, et c'est également une question souvent abordée lors des entretiens. La maîtrise des solutions interdomaines communes et des principes qui les sous-tendent peut non seulement améliorer notre efficacité de développement, mais également mieux performer lors des entretiens.

Comment utiliser le langage Go pour le développement front-end ? Comment utiliser le langage Go pour le développement front-end ? Jun 10, 2023 pm 05:00 PM

Avec le développement de la technologie Internet, le développement front-end est devenu de plus en plus important. La popularité des appareils mobiles, en particulier, nécessite une technologie de développement frontal efficace, stable, sûre et facile à entretenir. En tant que langage de programmation en développement rapide, le langage Go est utilisé par de plus en plus de développeurs. Alors, est-il possible d’utiliser le langage Go pour le développement front-end ? Ensuite, cet article expliquera en détail comment utiliser le langage Go pour le développement front-end. Voyons d’abord pourquoi le langage Go est utilisé pour le développement front-end. Beaucoup de gens pensent que le langage Go est un

Questions fréquemment posées par les enquêteurs front-end Questions fréquemment posées par les enquêteurs front-end Mar 19, 2024 pm 02:24 PM

Lors des entretiens de développement front-end, les questions courantes couvrent un large éventail de sujets, notamment les bases HTML/CSS, les bases JavaScript, les frameworks et les bibliothèques, l'expérience du projet, les algorithmes et les structures de données, l'optimisation des performances, les requêtes inter-domaines, l'ingénierie front-end, les modèles de conception et les nouvelles technologies et tendances. Les questions de l'intervieweur sont conçues pour évaluer les compétences techniques du candidat, son expérience en matière de projet et sa compréhension des tendances du secteur. Par conséquent, les candidats doivent être parfaitement préparés dans ces domaines pour démontrer leurs capacités et leur expertise.

En savoir plus sur les tampons dans Node En savoir plus sur les tampons dans Node Apr 25, 2023 pm 07:49 PM

Au début, JS ne fonctionnait que du côté du navigateur. Il était facile de traiter les chaînes codées en Unicode, mais il était difficile de traiter les chaînes binaires et non codées en Unicode. Et le binaire est le format de données le plus bas du package ordinateur, vidéo/audio/programme/réseau.

See all articles